summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngy döt Net <ingy@ingy.net>2017-12-29 23:42:44 -0800
committerIngy döt Net <ingy@ingy.net>2018-01-07 23:24:05 -0800
commitc0a4e7a388658bffa53078a6ac28b3d2e118861b (patch)
tree46a2e1c30f4b340321ec0f66819c00c3a01e862b
downloadlibyaml-git-c0a4e7a388658bffa53078a6ac28b3d2e118861b.tar.gz
Initial commit
-rw-r--r--.travis.yml3
-rw-r--r--ReadMe.md4
-rwxr-xr-xbin/update-test-list.sh33
-rwxr-xr-xlibyaml-emitter.t34
-rwxr-xr-xlibyaml-parser-error.t26
-rwxr-xr-xlibyaml-parser.t32
-rw-r--r--list/libyaml-emitter.list161
-rw-r--r--list/libyaml-parser-error.list53
-rw-r--r--list/libyaml-parser.list190
9 files changed, 536 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..f3ff967
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,3 @@
+branches:
+ except:
+ - run-test-suite-code
diff --git a/ReadMe.md b/ReadMe.md
new file mode 100644
index 0000000..2fc573f
--- /dev/null
+++ b/ReadMe.md
@@ -0,0 +1,4 @@
+run-test-suite-list
+===================
+
+This branch contains lists of yaml-tet-suite-tests that should be run.
diff --git a/bin/update-test-list.sh b/bin/update-test-list.sh
new file mode 100755
index 0000000..6dfd9b8
--- /dev/null
+++ b/bin/update-test-list.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+test=$1
+type=$2
+
+testfiles=tests/run-test-suite/data/[A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9]
+testdir=tests/run-test-suite/list
+
+testline() {
+ echo `basename $1`": "`cat $1/===`
+}
+
+if [[ "$test" == parser ]]; then
+
+ if [[ "$type" == valid ]]; then
+
+ for i in $testfiles; do
+ [[ -f $i/error ]] || echo "$(testline $i)"
+ done > $testdir/libyaml-parser.list
+
+ else
+ for i in $testfiles; do
+ [[ -f $i/error ]] && echo "$(testline $i)"
+ done > $testdir/libyaml-parser-error.list
+ fi
+
+
+elif [[ "$test" == emitter ]]; then
+ for i in $testfiles; do
+ [[ -f $i/error ]] || echo "$(testline $i)"
+ done > $testdir/libyaml-emitter.list
+fi
+
diff --git a/libyaml-emitter.t b/libyaml-emitter.t
new file mode 100755
index 0000000..a8ec7bf
--- /dev/null
+++ b/libyaml-emitter.t
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+set -e
+
+if [[ $# -gt 0 ]]; then
+ ids=("$@")
+else
+ ids=($(cut -d: -f1 < test/list/libyaml-emitter.list))
+fi
+
+count=0
+for id in "${ids[@]}"; do
+ dir="data/$id"
+ label="$id: $(< $dir/===)"
+ [[ -e "$dir/in.yaml" ]] || continue
+ want="$dir/out.yaml"
+ [[ -e $want ]] || want="$dir/in.yaml"
+ ../../tests/run-emitter-test-suite "$dir/test.event" > /tmp/test.out || {
+ (
+ cat "$dir/test.event"
+ cat "$want"
+ ) | sed 's/^/# /'
+ }
+ ok=true
+ output="$(${DIFF:-diff} -u $want /tmp/test.out)" || ok=false
+ if $ok; then
+ echo "ok $((++count)) $label"
+ else
+ echo "not ok $((++count)) $label"
+ echo "$output" | sed 's/^/# /'
+ fi
+done
+
+echo "1..$count"
diff --git a/libyaml-parser-error.t b/libyaml-parser-error.t
new file mode 100755
index 0000000..d9613de
--- /dev/null
+++ b/libyaml-parser-error.t
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+set -e
+
+if [[ $# -gt 0 ]]; then
+ ids=("$@")
+else
+ ids=($(cut -d: -f1 < test/list/libyaml-parser-error.list))
+fi
+
+count=0
+for id in "${ids[@]}"; do
+ dir="data/$id"
+ label="$id: $(< $dir/===)"
+ [[ -e "$dir/in.yaml" ]] || continue
+ ok=true
+ ../../tests/run-parser-test-suite "$dir/in.yaml" > /tmp/test.out 2>&1 || ok=false
+ if $ok; then
+ echo "not ok $((++count)) $label"
+ sed 's/^/# /' /tmp/test.out
+ else
+ echo "ok $((++count)) $label"
+ fi
+done
+
+echo "1..$count"
diff --git a/libyaml-parser.t b/libyaml-parser.t
new file mode 100755
index 0000000..0f2afd7
--- /dev/null
+++ b/libyaml-parser.t
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+set -e
+
+if [[ $# -gt 0 ]]; then
+ ids=("$@")
+else
+ ids=($(cut -d: -f1 < test/list/libyaml-parser.list))
+fi
+
+count=0
+for id in "${ids[@]}"; do
+ dir="data/$id"
+ label="$id: $(< $dir/===)"
+ [[ -e "$dir/in.yaml" ]] || continue
+ ../../tests/run-parser-test-suite "$dir/in.yaml" > /tmp/test.out || {
+ (
+ cat "$dir/in.yaml"
+ cat "$dir/test.event"
+ ) | sed 's/^/# /'
+ }
+ ok=true
+ output="$(${DIFF:-diff} -u $dir/test.event /tmp/test.out)" || ok=false
+ if $ok; then
+ echo "ok $((++count)) $label"
+ else
+ echo "not ok $((++count)) $label"
+ echo "$output" | sed 's/^/# /'
+ fi
+done
+
+echo "1..$count"
diff --git a/list/libyaml-emitter.list b/list/libyaml-emitter.list
new file mode 100644
index 0000000..50f922a
--- /dev/null
+++ b/list/libyaml-emitter.list
@@ -0,0 +1,161 @@
+229Q: Spec Example 2.4. Sequence of Mappings
+27NA: Spec Example 5.9. Directive Indicator
+2AUY: Tags in Block Sequence
+35KP: Tags for Root Objects
+36F6: Multiline plain scalar with empty line
+3ALJ: Block Sequence in Block Sequence
+3GZX: Spec Example 7.1. Alias Nodes
+3UYS: Escaped slash in double quotes
+4CQQ: Spec Example 2.18. Multi-line Flow Scalars
+4GC6: Spec Example 7.7. Single Quoted Characters
+4Q9F: Folded Block Scalar [1.3]
+4UYU: Colon in Double Quoted String
+4V8U: Plain scalar with backslashes
+4ZYM: Spec Example 6.4. Line Prefixes
+54T7: Flow Mapping
+57H4: Spec Example 8.22. Block Collection Nodes
+5BVJ: Spec Example 5.7. Block Scalar Indicators
+5C5M: Spec Example 7.15. Flow Mappings
+5GBF: Spec Example 6.5. Empty Lines
+5KJE: Spec Example 7.13. Flow Sequence
+5NYZ: Spec Example 6.9. Separated Comment
+65WH: Single Entry Block Sequence
+6BCT: Spec Example 6.3. Separation Spaces
+6BFJ: Mapping, key and flow sequence item anchors
+6H3V: Backslashes in singlequotes
+6HB6: Spec Example 6.1. Indentation Spaces
+6JQW: Spec Example 2.13. In literals, newlines are preserved
+6JWB: Tags for Block Objects
+6LVF: Spec Example 6.13. Reserved Directives
+6VJK: Spec Example 2.15. Folded newlines are preserved for "more indented" and blank lines
+735Y: Spec Example 8.20. Block Node Types
+74H7: Tags in Implicit Mapping
+753E: Block Scalar Strip [1.3]
+77H8: Spec Example 2.23. Various Explicit Tags
+7A4E: Spec Example 7.6. Double Quoted Lines
+7BMT: Node and Mapping Key Anchors [1.3]
+7BUB: Spec Example 2.10. Node for “Sammy Sosa” appears twice in this document
+7FWL: Spec Example 6.24. Verbatim Tags
+7T8X: Spec Example 8.10. Folded Lines - 8.13. Final Empty Lines
+7TMG: Comment in flow sequence before comma
+82AN: Three dashes and content without space
+87E4: Spec Example 7.8. Single Quoted Implicit Keys
+8CWC: Plain mapping key ending with colon
+8G76: Spec Example 6.10. Comment Lines
+8QBE: Block Sequence in Block Mapping
+8UDB: Spec Example 7.14. Flow Sequence Entries
+93JH: Block Mappings in Block Sequence
+93WF: Spec Example 6.6. Line Folding [1.3]
+96L6: Spec Example 2.14. In the folded scalars, newlines become spaces
+98YD: Spec Example 5.5. Comment Indicator
+9FMG: Multi-level Mapping Indent
+9J7A: Simple Mapping Indent
+9KAX: Various combinations of tags and anchors
+9SHH: Spec Example 5.8. Quoted Scalar Indicators
+9U5K: Spec Example 2.12. Compact Nested Mapping
+9WXW: Spec Example 6.18. Primary Tag Handle
+9YRD: Multiline Scalar at Top Level
+A2M4: Spec Example 6.2. Indentation Indicators
+A6F9: Spec Example 8.4. Chomping Final Line Break
+A984: Multiline Scalar in Mapping
+AB8U: Sequence entry that looks like two with wrong indentation
+AVM7: Empty Stream
+AZ63: Sequence With Same Indentation as Parent Mapping
+AZW3: Lookahead test cases
+BEC7: Spec Example 6.14. “YAML” directive
+BU8L: Node Anchor and Tag on Seperate Lines
+C4HZ: Spec Example 2.24. Global Tags
+CC74: Spec Example 6.20. Tag Handles
+CN3R: Various location of anchors in flow sequence
+CT4Q: Spec Example 7.20. Single Pair Explicit Entry
+CUP7: Spec Example 5.6. Node Property Indicators
+CXX2: Mapping with anchor on document start line
+D83L: Block scalar indicator order
+D88J: Flow Sequence in Block Mapping
+D9TU: Single Pair Block Mapping
+DBG4: Spec Example 7.10. Plain Characters
+DC7X: Various trailing tabs
+DHP8: Flow Sequence
+DK3J: Zero indented block scalar with line that looks like a comment
+DWX9: Spec Example 8.8. Literal Content
+EHF6: Tags for Flow Objects
+F2C7: Anchors and Tags
+F3CP: Nested flow collections on one line
+F8F9: Spec Example 8.5. Chomping Trailing Lines
+FP8R: Zero indented block scalar
+FQ7F: Spec Example 2.1. Sequence of Scalars
+FUP4: Flow Sequence in Flow Sequence
+G4RS: Spec Example 2.17. Quoted Scalars
+G992: Spec Example 8.9. Folded Scalar
+GH63: Mixed Block Mapping (explicit to implicit)
+H2RW: Blank lines
+H3Z8: Literal unicode
+HMK4: Spec Example 2.16. Indentation determines scope
+HMQ5: Spec Example 6.23. Node Properties
+HS5T: Spec Example 7.12. Plain Lines
+J5UC: Multiple Pair Block Mapping
+J7PZ: Spec Example 2.26. Ordered Mappings
+J7VC: Empty Lines Between Mapping Elements
+J9HZ: Spec Example 2.9. Single Document with Two Comments
+JHB9: Spec Example 2.7. Two Documents in a Stream
+JQ4R: Spec Example 8.14. Block Sequence
+JS2J: Spec Example 6.29. Node Anchors
+K4SU: Multiple Entry Block Sequence
+K527: Spec Example 6.6. Line Folding
+K858: Spec Example 8.6. Empty Scalar Chomping
+KMK3: Block Submapping
+L94M: Tags in Explicit Mapping
+L9U5: Spec Example 7.11. Plain Implicit Keys
+LP6E: Whitespace After Scalars in Flow
+LQZ7: Spec Example 7.4. Double Quoted Implicit Keys
+LX3P: Implicit Flow Mapping Key on one line
+M29M: Literal Block Scalar
+M5C3: Spec Example 8.21. Block Scalar Nodes
+M5DY: Spec Example 2.11. Mapping between Sequences
+M7NX: Nested flow collections
+MJS9: Spec Example 6.7. Block Folding
+MXS3: Flow Mapping in Block Sequence
+MYW6: Block Scalar Strip
+MZX3: Non-Specific Tags on Scalars
+NP9H: Spec Example 7.5. Double Quoted Line Breaks
+P2AD: Spec Example 8.1. Block Scalar Header
+P76L: Spec Example 6.19. Secondary Tag Handle
+P94K: Spec Example 6.11. Multi-Line Comments
+PBJ2: Spec Example 2.3. Mapping Scalars to Sequences
+PRH3: Spec Example 7.9. Single Quoted Lines
+Q5MG: Tab at beginning of line followed by a flow mapping
+Q88A: Spec Example 7.23. Flow Content
+Q9WF: Spec Example 6.12. Separation Spaces
+QF4Y: Spec Example 7.19. Single Pair Flow Mappings
+R4YG: Spec Example 8.2. Block Indentation Indicator
+RLU9: Sequence Indent
+RR7F: Mixed Block Mapping (implicit to explicit)
+RTP8: Spec Example 9.2. Document Markers
+RZP5: Various Trailing Comments [1.3]
+RZT7: Spec Example 2.28. Log File
+S4T7: Document with footer
+S98Z: Block scalar with spaces only
+S9E8: Spec Example 5.3. Block Structure Indicators
+SBG9: Flow Sequence in Flow Mapping
+SKE5: Anchor before zero indented sequence
+SSW6: Spec Example 7.7. Single Quoted Characters [1.3]
+SYW4: Spec Example 2.2. Mapping Scalars to Scalars
+TE2A: Spec Example 8.16. Block Mappings
+TL85: Spec Example 6.8. Flow Folding
+TS54: Folded Block Scalar
+U3C3: Spec Example 6.16. “TAG” directive
+U3XV: Node and Mapping Key Anchors
+U9NS: Spec Example 2.8. Play by Play Feed from a Game
+UDM2: Plain URL in flow mapping
+UDR7: Spec Example 5.4. Flow Collection Indicators
+UGM3: Spec Example 2.27. Invoice
+V55R: Aliases in Block Sequence
+V9D5: Spec Example 8.19. Compact Block Mappings
+X38W: Aliases in Flow Objects
+XV9V: Spec Example 6.5. Empty Lines [1.3]
+XW4D: Various Trailing Comments
+YD5X: Spec Example 2.5. Sequence of Sequences
+Z67P: Spec Example 8.21. Block Scalar Nodes [1.3]
+Z9M4: Spec Example 6.22. Global Tag Prefix
+ZF4X: Spec Example 2.6. Mapping of Mappings
+ZH7C: Anchors in Mapping
diff --git a/list/libyaml-parser-error.list b/list/libyaml-parser-error.list
new file mode 100644
index 0000000..e556cdc
--- /dev/null
+++ b/list/libyaml-parser-error.list
@@ -0,0 +1,53 @@
+236B: Invalid value after mapping
+2CMS: Invalid mapping in plain multiline
+3HFZ: Invalid content after document end marker
+4H7K: Flow sequence with invalid extra closing bracket
+4HVU: Wrong indendation in Sequence
+4JVG: Scalar value with two anchors
+55WF: Invalid escape in double quoted string
+5LLU: Block scalar with wrong indented line after spaces only
+5TRB: Invalid document-start marker in doublequoted tring
+5U3A: Sequence on same Line as Mapping Key
+6JTT: Flow sequence without closing bracket
+6S55: Invalid scalar at the end of sequence
+7LBH: Multiline double quoted implicit keys
+7MNF: Missing colon
+8XDJ: Comment in plain multiline value
+9CWY: Invalid scalar at the end of mapping
+9KBC: Mapping starting at --- line
+9MAG: Flow sequence with invalid comma at the beginning
+B63P: Directive without document
+BD7L: Invalid mapping after sequence
+BF9H: Trailing comment in multiline plain scalar
+BS4K: Comment between plain scalar lines
+C2SP: Flow Mapping Key on two lines
+CML9: Missing comma in flow
+CQ3W: Double quoted string without closing quote
+CTN5: Flow sequence with invalid extra comma
+D49Q: Multiline single quoted implicit keys
+DMG6: Wrong indendation in Map
+EB22: Missing document-end marker before directive
+EW3V: Wrong indendation in mapping
+G7JE: Multiline implicit keys
+G9HC: Invalid anchor in zero indented sequence
+GDY7: Comment that looks like a mapping key
+GT5M: Node anchor in sequence
+H7J7: Node anchor not indented
+HRE5: Double quoted scalar with escaped single quote
+HU3P: Invalid Mapping in plain scalar
+JY7Z: Trailing content that looks like a mapping
+LHL4: Invalid tag
+N4JP: Bad indentation in mapping
+N782: Invalid document markers in flow style
+Q4CL: Trailing content after quoted value
+QLJ7: Tag shorthand used in documents but only defined in the first
+RXY3: Invalid document-end marker in single quoted string
+SR86: Anchor plus Alias
+SU74: Anchor and alias as mapping key
+SY6V: Anchor before sequence entry on same line
+TD5N: Invalid scalar after sequence
+U44R: Bad indentation in mapping
+W9L4: Literal block scalar with more spaces in first line
+ZCZ6: Invalid mapping in plain single line value
+ZL4Z: Invalid nested mapping
+ZVH3: Wrong indented sequence item
diff --git a/list/libyaml-parser.list b/list/libyaml-parser.list
new file mode 100644
index 0000000..309cb21
--- /dev/null
+++ b/list/libyaml-parser.list
@@ -0,0 +1,190 @@
+229Q: Spec Example 2.4. Sequence of Mappings
+26DV: Whitespace around colon in mappings
+2AUY: Tags in Block Sequence
+2EBW: Allowed characters in keys
+2XXW: Spec Example 2.25. Unordered Sets
+35KP: Tags for Root Objects
+36F6: Multiline plain scalar with empty line
+3ALJ: Block Sequence in Block Sequence
+3GZX: Spec Example 7.1. Alias Nodes
+3MYT: Plain Scalar looking like key, comment, anchor and tag
+3UYS: Escaped slash in double quotes
+4CQQ: Spec Example 2.18. Multi-line Flow Scalars
+4GC6: Spec Example 7.7. Single Quoted Characters
+4Q9F: Folded Block Scalar [1.3]
+4QFQ: Spec Example 8.2. Block Indentation Indicator [1.3]
+4UYU: Colon in Double Quoted String
+4V8U: Plain scalar with backslashes
+4ZYM: Spec Example 6.4. Line Prefixes
+52DL: Explicit Non-Specific Tag [1.3]
+54T7: Flow Mapping
+565N: Construct Binary
+57H4: Spec Example 8.22. Block Collection Nodes
+5BVJ: Spec Example 5.7. Block Scalar Indicators
+5C5M: Spec Example 7.15. Flow Mappings
+5GBF: Spec Example 6.5. Empty Lines
+5KJE: Spec Example 7.13. Flow Sequence
+5NYZ: Spec Example 6.9. Separated Comment
+5TYM: Spec Example 6.21. Local Tag Prefix
+5WE3: Spec Example 8.17. Explicit Block Mapping Entries
+65WH: Single Entry Block Sequence
+6BFJ: Mapping, key and flow sequence item anchors
+6CK3: Spec Example 6.26. Tag Shorthands
+6FWR: Block Scalar Keep
+6H3V: Backslashes in singlequotes
+6HB6: Spec Example 6.1. Indentation Spaces
+6JQW: Spec Example 2.13. In literals, newlines are preserved
+6JWB: Tags for Block Objects
+6SLA: Allowed characters in quoted mapping key
+6VJK: Spec Example 2.15. Folded newlines are preserved for "more indented" and blank lines
+6WLZ: Spec Example 6.18. Primary Tag Handle [1.3]
+6WPF: Spec Example 6.8. Flow Folding [1.3]
+735Y: Spec Example 8.20. Block Node Types
+74H7: Tags in Implicit Mapping
+753E: Block Scalar Strip [1.3]
+77H8: Spec Example 2.23. Various Explicit Tags
+7A4E: Spec Example 7.6. Double Quoted Lines
+7BMT: Node and Mapping Key Anchors [1.3]
+7BUB: Spec Example 2.10. Node for “Sammy Sosa” appears twice in this document
+7FWL: Spec Example 6.24. Verbatim Tags
+7T8X: Spec Example 8.10. Folded Lines - 8.13. Final Empty Lines
+7TMG: Comment in flow sequence before comma
+7W2P: Block Mapping with Missing Values
+82AN: Three dashes and content without space
+87E4: Spec Example 7.8. Single Quoted Implicit Keys
+8CWC: Plain mapping key ending with colon
+8G76: Spec Example 6.10. Comment Lines
+8MK2: Explicit Non-Specific Tag
+8QBE: Block Sequence in Block Mapping
+8UDB: Spec Example 7.14. Flow Sequence Entries
+93JH: Block Mappings in Block Sequence
+93WF: Spec Example 6.6. Line Folding [1.3]
+96L6: Spec Example 2.14. In the folded scalars, newlines become spaces
+98YD: Spec Example 5.5. Comment Indicator
+9FMG: Multi-level Mapping Indent
+9J7A: Simple Mapping Indent
+9KAX: Various combinations of tags and anchors
+9SHH: Spec Example 5.8. Quoted Scalar Indicators
+9TFX: Spec Example 7.6. Double Quoted Lines [1.3]
+9U5K: Spec Example 2.12. Compact Nested Mapping
+9WXW: Spec Example 6.18. Primary Tag Handle
+9YRD: Multiline Scalar at Top Level
+A6F9: Spec Example 8.4. Chomping Final Line Break
+A984: Multiline Scalar in Mapping
+AB8U: Sequence entry that looks like two with wrong indentation
+AVM7: Empty Stream
+AZ63: Sequence With Same Indentation as Parent Mapping
+AZW3: Lookahead test cases
+B3HG: Spec Example 8.9. Folded Scalar [1.3]
+BU8L: Node Anchor and Tag on Seperate Lines
+C2DT: Spec Example 7.18. Flow Mapping Adjacent Values
+C4HZ: Spec Example 2.24. Global Tags
+CC74: Spec Example 6.20. Tag Handles
+CN3R: Various location of anchors in flow sequence
+CT4Q: Spec Example 7.20. Single Pair Explicit Entry
+CUP7: Spec Example 5.6. Node Property Indicators
+D83L: Block scalar indicator order
+D88J: Flow Sequence in Block Mapping
+D9TU: Single Pair Block Mapping
+DC7X: Various trailing tabs
+DFF7: Spec Example 7.16. Flow Mapping Entries
+DHP8: Flow Sequence
+DWX9: Spec Example 8.8. Literal Content
+E76Z: Aliases in Implicit Block Mapping
+EHF6: Tags for Flow Objects
+EX5H: Multiline Scalar at Top Level [1.3]
+EXG3: Three dashes and content without space [1.3]
+F2C7: Anchors and Tags
+F3CP: Nested flow collections on one line
+F8F9: Spec Example 8.5. Chomping Trailing Lines
+FBC9: Allowed characters in plain scalars
+FH7J: Tags on Empty Scalars
+FQ7F: Spec Example 2.1. Sequence of Scalars
+FUP4: Flow Sequence in Flow Sequence
+G4RS: Spec Example 2.17. Quoted Scalars
+G992: Spec Example 8.9. Folded Scalar
+GH63: Mixed Block Mapping (explicit to implicit)
+H2RW: Blank lines
+H3Z8: Literal unicode
+HMK4: Spec Example 2.16. Indentation determines scope
+HMQ5: Spec Example 6.23. Node Properties
+HS5T: Spec Example 7.12. Plain Lines
+J3BT: Spec Example 5.12. Tabs and Spaces
+J5UC: Multiple Pair Block Mapping
+J7PZ: Spec Example 2.26. Ordered Mappings
+J7VC: Empty Lines Between Mapping Elements
+J9HZ: Spec Example 2.9. Single Document with Two Comments
+JDH8: Plain Scalar looking like key, comment, anchor and tag [1.3]
+JHB9: Spec Example 2.7. Two Documents in a Stream
+JQ4R: Spec Example 8.14. Block Sequence
+JS2J: Spec Example 6.29. Node Anchors
+JTV5: Block Mapping with Multiline Scalars
+K4SU: Multiple Entry Block Sequence
+K527: Spec Example 6.6. Line Folding
+K54U: Tab after document header
+K858: Spec Example 8.6. Empty Scalar Chomping
+KMK3: Block Submapping
+KSS4: Scalars on --- line
+L94M: Tags in Explicit Mapping
+L9U5: Spec Example 7.11. Plain Implicit Keys
+LE5A: Spec Example 7.24. Flow Nodes
+LP6E: Whitespace After Scalars in Flow
+LQZ7: Spec Example 7.4. Double Quoted Implicit Keys
+LX3P: Implicit Flow Mapping Key on one line
+M29M: Literal Block Scalar
+M5C3: Spec Example 8.21. Block Scalar Nodes
+M5DY: Spec Example 2.11. Mapping between Sequences
+M7NX: Nested flow collections
+M9B4: Spec Example 8.7. Literal Scalar
+MJS9: Spec Example 6.7. Block Folding
+MXS3: Flow Mapping in Block Sequence
+MYW6: Block Scalar Strip
+MZX3: Non-Specific Tags on Scalars
+NP9H: Spec Example 7.5. Double Quoted Line Breaks
+P2AD: Spec Example 8.1. Block Scalar Header
+P76L: Spec Example 6.19. Secondary Tag Handle
+P94K: Spec Example 6.11. Multi-Line Comments
+PBJ2: Spec Example 2.3. Mapping Scalars to Sequences
+PRH3: Spec Example 7.9. Single Quoted Lines
+PUW8: Document start on last line
+PW8X: Anchors on Empty Scalars
+Q88A: Spec Example 7.23. Flow Content
+Q8AD: Spec Example 7.5. Double Quoted Line Breaks [1.3]
+Q9WF: Spec Example 6.12. Separation Spaces
+QF4Y: Spec Example 7.19. Single Pair Flow Mappings
+RLU9: Sequence Indent
+RR7F: Mixed Block Mapping (implicit to explicit)
+RZP5: Various Trailing Comments [1.3]
+RZT7: Spec Example 2.28. Log File
+S4JQ: Spec Example 6.28. Non-Specific Tags
+S4T7: Document with footer
+S98Z: Block scalar with spaces only
+S9E8: Spec Example 5.3. Block Structure Indicators
+SBG9: Flow Sequence in Flow Mapping
+SKE5: Anchor before zero indented sequence
+SSW6: Spec Example 7.7. Single Quoted Characters [1.3]
+SYW4: Spec Example 2.2. Mapping Scalars to Scalars
+T26H: Spec Example 8.8. Literal Content [1.3]
+T4YY: Spec Example 7.9. Single Quoted Lines [1.3]
+T5N4: Spec Example 8.7. Literal Scalar [1.3]
+TE2A: Spec Example 8.16. Block Mappings
+TL85: Spec Example 6.8. Flow Folding
+TS54: Folded Block Scalar
+U3C3: Spec Example 6.16. “TAG” directive
+U3XV: Node and Mapping Key Anchors
+U9NS: Spec Example 2.8. Play by Play Feed from a Game
+UDR7: Spec Example 5.4. Flow Collection Indicators
+UGM3: Spec Example 2.27. Invoice
+V55R: Aliases in Block Sequence
+V9D5: Spec Example 8.19. Compact Block Mappings
+W42U: Spec Example 8.15. Block Sequence Entry Types
+X38W: Aliases in Flow Objects
+XLQ9: Multiline scalar that looks like a YAML directive
+XV9V: Spec Example 6.5. Empty Lines [1.3]
+XW4D: Various Trailing Comments
+YD5X: Spec Example 2.5. Sequence of Sequences
+Z67P: Spec Example 8.21. Block Scalar Nodes [1.3]
+Z9M4: Spec Example 6.22. Global Tag Prefix
+ZF4X: Spec Example 2.6. Mapping of Mappings
+ZH7C: Anchors in Mapping
+ZWK4: Key with anchor after missing explicit mapping value