help wantedmaintenance
説明
(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
bashscripts)
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