avh4/elm-format

Reorganize test suite

Open

#429 opened on Nov 24, 2017

View on GitHub
 (0 comments) (0 reactions) (1 assignee)Haskell (148 forks)batch import
help wantedmaintenance

Repository metrics

Stars
 (1,329 stars)
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