64 lines
1.2 KiB
Markdown
64 lines
1.2 KiB
Markdown
|
# Testing the Parser and Emitter
|
||
|
|
||
|
There are several programs to test the parser and emitter.
|
||
|
|
||
|
## Parser
|
||
|
|
||
|
echo 'foo: bar' | ./tests/run-parser-test-suite
|
||
|
|
||
|
This will output the parsing events in yaml-test-suite format:
|
||
|
|
||
|
+STR
|
||
|
+DOC
|
||
|
+MAP
|
||
|
=VAL :foo
|
||
|
=VAL :bar
|
||
|
-MAP
|
||
|
-DOC
|
||
|
-STR
|
||
|
|
||
|
For flow style events, you have to enable it with the `--flow` option:
|
||
|
|
||
|
echo '{ foo: bar }' | ./tests/run-parser-test-suite --flow keep
|
||
|
|
||
|
...
|
||
|
+MAP {}
|
||
|
...
|
||
|
|
||
|
In the future, this will be the default.
|
||
|
|
||
|
You can also explicitly disable this style with `--flow off`, or output
|
||
|
flow style always, with `--flow on`.
|
||
|
|
||
|
## Emitter
|
||
|
|
||
|
run-emitter-test-suite takes yaml-test-suite event format and emits YAML.
|
||
|
|
||
|
./tests/run-parser-test-suite ... | ./tests/run-emitter-test-suite
|
||
|
|
||
|
## Options
|
||
|
|
||
|
* `--directive (1.1|1.2)`
|
||
|
|
||
|
Prints a version directive before every document.
|
||
|
|
||
|
* `--flow on`
|
||
|
|
||
|
Will emit the whole document in flow style.
|
||
|
|
||
|
* `--flow off`
|
||
|
|
||
|
Will emit the whole document in block style.
|
||
|
|
||
|
* `--flow keep`
|
||
|
|
||
|
Will emit block/flow style like in the original document.
|
||
|
|
||
|
Example:
|
||
|
```
|
||
|
% echo 'foo: [bar, {x: y}]' |
|
||
|
./tests/run-parser-test-suite --flow keep |
|
||
|
./tests/run-emitter-test-suite --flow keep
|
||
|
foo: [bar, {x: y}]
|
||
|
```
|