Reorganize test suite
- 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.