=== Mapping in Mapping with Alias
+++ perl
my $x = {
    42 => {
        53 => 64,
        75 => 99,
    },
};
$x->{11} = $x->{42};
$x;
+++ yaml
---
42: &ac1
  53: 64
  75: 99
11: *ac1
+++ events
StreamStart
DocumentStart
MappingStart
Scalar value 42
MappingStart anchor ac1
Scalar value 53
Scalar value 64
Scalar value 75
Scalar value 99
MappingEnd
Scalar value 11
Alias anchor ac1
MappingEnd
DocumentEnd
StreamEnd
+++ dump_dumper
---
11: &001
  53: 64
  75: 99
42: *001
+++ nodes
xxx
+++ dump

=== Block Sequence
+++ events
StreamStart
DocumentStart
SequenceStart
Scalar value 1
Scalar value 2
Scalar value 3
SequenceEnd
DocumentEnd
StreamEnd
+++ yaml
---
- 1
- 2
- 3
+++ yaml2
---
- 1
- 2
- 3
+++ nodes
xxx
+++ perl
[ 1, 2, 3]
+++ dump

=== Flow Mapping
+++ yaml
---
{a: b}
+++ perl
{a => 'b'}
+++ dump
---
a: b

=== Flow Sequence
+++ yaml
--- [
1,
3,
5]

+++ perl
[1,3,5]

+++ dump
---
- 1
- 3
- 5

=== Double Quoted String
+++ yaml
--- " 
  #  xxx

\tyyy
  zzz
"

+++ perl
" #  xxx\n\tyyy zzz "

+++ dumpx
" #  xxx\n\tyyy zzz "

=== Single Quoted Strings
+++ yaml
---
'foo\nbar': 'I didn''t'

+++ perl
{'foo\nbar' => "I didn't"}

+++ dumpx
'foo\nbar': 'I
  didn''t'

=== Literal Scalar
+++ yaml
--- |2
   ^
  < >
   v
+++ eventsx
StreamStart
DocumentStart
Scalar value  ^\n< >\n v\n
DocumentEnd
StreamEnd
+++ perl
" ^\n< >\n v\n"
+++ dumpx
xxx

=== Version Emitter
+++ events
StreamStart
DocumentStart version 1.1
MappingStart
Scalar value 11
Scalar value 12
MappingEnd
DocumentEnd
StreamEnd
+++ yaml
%YAML 1.1
---
11: 12
+++ dump

=== Document End
+++ events
StreamStart
DocumentStart
MappingStart
Scalar value 1
Scalar value 2
MappingEnd
DocumentEnd
StreamEnd
+++ yaml
---
1: 2
...
+++ dump
---
1: 2

=== Mapping Key
+++ events
StreamStart
DocumentStart
MappingStart
Scalar value 1
Scalar value 2
MappingEnd
DocumentEnd
StreamEnd
+++ yaml
---
? 1
: 2
+++ dump
---
1: 2

=== Block Literal
+++ events
StreamStart
DocumentStart
Scalar value sub la {\n  ...\n}\n
DocumentEnd
StreamEnd
+++ yaml
--- |
  sub la {
    ...
  }


=== Escapes
+++ events
StreamStart
DocumentStart
Scalar value aaa<bbb\ccc
DocumentEnd
StreamEnd
+++ yaml
--- "aaa\x3cbbb\\ccc"

=== Folded
+++ events
StreamStart
DocumentStart
Scalar value Foo Bar Baz\n
DocumentEnd
StreamEnd
+++ yaml
--- >
  Foo
  Bar
  Baz

=== Indentless Sequence
+++ events
StreamStart
DocumentStart
MappingStart
Scalar value foo
SequenceStart
Scalar value 1
Scalar value 2
SequenceEnd
MappingEnd
DocumentEnd
StreamEnd
+++ yaml
foo:
- 1
- 2

=== Hash in array
+++ perl
[{}]
+++ dump
---
- {}

=== YAML Tags
+++ yaml
%TAG !! tag:yaml.org,2002:
---
!!str 42: !!float 42
+++ events
StreamStart
DocumentStart
MappingStart
Scalar value 42
Scalar value 42
MappingEnd
DocumentEnd
StreamEnd

=== Literal Scalar
+++ events
StreamStart
DocumentStart
Scalar value Four score and seven years ago\nour fathers brought forth\non this continent\n
DocumentEnd
StreamEnd
+++ dump
--- |
  Four score and seven years ago
  our fathers brought forth
  on this continent

=== A blessed hash, array and scalar
+++ ONLYX
+++ perl
[
    bless({}, 'Foo'),
    bless([], 'Bar'),
    bless((\ do { my $x = "silly string"}), 'Baz'),
]
+++ dump
---
- !!perl/hash:Foo {}
- !!perl/array:Bar []
- !!perl/scalar:Baz 'silly string'
+++ yaml
---
- !!perl/hash:Foo {}
- !!perl/array:Bar []
- !!perl/scalar:Baz silly string

=== Mapping in a flow sequence
+++ yaml
--- [ foo: bar, baz: 42]
+++ perl
[ {foo => 'bar'}, {baz => 42} ]

