Add some more tests to parser

It turns out this is not the correct order, and for good reason. For efficiency, the unit tests assume an optimized lexer (with cached tables), but this is only produced during `prepare`. Putting `prepare` before `unittest` should in principle work fine; the parser tables will be ignored (and not regenerated), since all unit tests use an un-optimized `parser`. On the other hand, using the same lexer across all tests should not be a problem.