### ----------------------------------------------------
### -- Perl6::Parser
### -- Licenses: Artistic-2.0
### -- Authors: Jeffrey Goff <drforr@pobox.com>
### -- File: t/README.pod
### ----------------------------------------------------
=begin README

I'm commenting out not-working-yet tests using the #`(..) style (1) because I
can, and (2) because the ` is rarer in Perl 6, therefore faster to search for.
In fact, I recently deleted a bunch of tests that were using the #`(..) marker
but marked as 'Illegal' because they do illegal things with whitespace, rather
than skip past them using '`'.

In passing, please note that while it's trivially possible to bum down the
tests, doing so makes it harder to insert 'say $p.dump' to view the
AST, and 'say $tree.perl' to view the generated Perl 6 structure.

As much as I dislike explicitly handling whitespace, here's the rationale:

Leading WS, intrabrace WS and trailing WS are all different lengths. This is
by design, so that in case I've matched the wrong whitespace section (they all
look alike) during testing, the different lengths will break the test.

Leading is 5 characters, intra is 3, trailing is 2.
It's a happy coincidence that these are the 3rd-5th terms in the Fibonacci
sequence.

It's not a coincidence, however, that leading, trailing and intrabrace spacing all get tested in the same pass, however. This way if I duplicate a trailing space, it can't be confused with other whitespace because nothing else is 4 spaces (2 + 2) long. Same with the intra of 3, nothing else is 6 spaces long. And duplicating code is the most common failure mode.

=end README


