Falderal Test: "freestyle" format for tests ------------------------------------- This document tests the alternate ("freestyle") format for tests introduced in the Falderal Literate Test Format version 0.11. This format allows the test body to consist entirely of un-prefixed text, as long as it is written in a single indented block, and as long as the final line(s) of the test begin with one of the prefixes `=> ` or `==> ` or `===> ` or `?> ` or `??> `or `???> `. -> Functionality "Cat" is implemented by shell command "python3 cat.py" -> Tests for functionality "Cat" Cat cats. meow => meow meow ==> meow meow ===> meow There may be multiple final lines. purr prrr prreow ==> purr ==> prrr ==> prreow The use of `==>` means that any text in the preceding lines that would, in the previous format, be recognized as prefixes, are no longer recognized as prefixes. | purr | prrr = prreow => | purr => | prrr => = prreow | purr + prrr ? prreow => | purr => + prrr => ? prreow purr -> prrr prreow ===> purr ===> -> prrr ===> prreow Demonstrate error expectation (Intentional fail.) meow ?> woof meow ??> woof | meow ? rreoww ???> bow ???> wow Freestyle-format tests can also contain input sections. -> Functionality "Silly Interpreter" is implemented by -> shell command "python3 silly-interpreter.py %(test-body-file)" -> Tests for functionality "Silly Interpreter" read x read y print y print x <= meow <= purr => purr => meow read x read y print y print x <== meow <== purr ==> purr ==> meow read x read y print y print x <=== meow <=== purr ===> purr ===> meow The trick of re-using the previous test body with a different test input if the test body is omitted doesn't work with freestyle-format test input sections (i.e., this will fail.) <== zing <== zang ==> zang ==> zing