avh4 / avh4/elm-format

Reorganize test suite

Open
#429 0 comments 0 reactions 1 assignee Claimed by @avh4 View on GitHub
help wanted maintenance
Dominant language
Haskell
Stars
1.3k
Forks
148
PR merge metrics
No merged PRs in 30d

Description

(help wanted: I'd love to have help with this, but if you're interested, please coordinate with me about it, since it will affect a lot of parts of codebase)

Goals:

- portable (prefer haskell over shell scripts)
- easy to add new tests
- easy to find all tests that relate to a particular syntax
- fast (both quick to run, and quick to recompile while developing)
- easy to see what the failure is when a test fails

New tests should:

- allow input Elm code specified as text
- allow expected output (formatted) Elm code specified as text
- (future) allow expected AST to be specified as JSON text
- be written in Haskell (not depend on `bash` scripts)

New tests **probably** should:

- allow examples to be specified for individual AST node types (instead of having all tests specify fully-valid Elm source files)
- allow example input/output to be specified in text files instead of being inline in haskell files
- (future) somehow be associated to the syntax/format documentation

**maybe** should:

- organize formatting code for each AST type next to the corresponding parser

Lessons learned:

- testing parser by having tests that verify haskell AST output is too hard to maintain

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.