summaryrefslogtreecommitdiff
path: root/t/bugs-rt.t
diff options
context:
space:
mode:
Diffstat (limited to 't/bugs-rt.t')
-rw-r--r--t/bugs-rt.t283
1 files changed, 283 insertions, 0 deletions
diff --git a/t/bugs-rt.t b/t/bugs-rt.t
new file mode 100644
index 0000000..a650c27
--- /dev/null
+++ b/t/bugs-rt.t
@@ -0,0 +1,283 @@
+use strict;
+use lib -e 't' ? 't' : 'test';
+use TestYAML tests => 41;
+
+run_yaml_tests;
+
+__DATA__
+
+=== Ticket #105-A YAML doesn't serialize odd objects very well
++++ skip_this_for_now
++++ skip_unless_modules: FileHandle
++++ perl: FileHandle->new( ">/tmp/yaml_bugs_rt_$$" );
++++ yaml
+--- !!perl/io:FileHandle
+- xxx
+
+=== Ticket #105-B YAML doesn't serialize odd objects very well
++++ skip_unless_modules: URI
++++ no_round_trip
++++ perl: URI->new( "http://localhost/" )
++++ yaml
+--- !!perl/scalar:URI::http http://localhost/
+
+=== Ticket #105-C YAML doesn't serialize odd objects very well
++++ skip_unless_modules: URI
++++ perl: +{ names => ['james','alexander','duncan'], }
++++ yaml
+---
+names:
+ - james
+ - alexander
+ - duncan
+
+=== Ticket #105-D YAML doesn't serialize odd objects very well
++++ perl
+# CGI->new()
+bless {
+ '.charset' => 'ISO-8859-1',
+ '.fieldnames' => {},
+ '.parameters' => [],
+ escape => 1,
+}, 'CGI';
++++ yaml
+--- !!perl/hash:CGI
+.charset: ISO-8859-1
+.fieldnames: {}
+.parameters: []
+escape: 1
+
+=== Ticket #105-E YAML doesn't serialize odd objects very well
++++ perl
+package MyObj::Class;
+sub new { return bless ['one','two','three'], $_[0]; }
+package main;
+MyObj::Class->new();
++++ yaml
+--- !!perl/array:MyObj::Class
+- one
+- two
+- three
+
+
+
+=== Ticket #2957 Serializing array-elements with dashes
++++ skip_this_for_now
++++ perl: [ { "test - " => 23 } ];
++++ yaml
+---
+- 'test - ': 23
+
+
+
+=== Ticket #3015 wish: folding length option for YAML
++++ skip_this_for_now
+> YAML.pm, line 557, currently has a folding value of 50 hard-coded.
+> It would be great if this value became an option... for those who
+> prefer not to fold, or fold less.
+
+I wanted that too. The attached patch adds in the $YAML::FoldLimit
+config variable to achieve this. I've also got a doc patch which
+describes this, but 'RT' only has one file-upload field so that'll be in
+the next comment ...
+
+Smylers
+
+
+=== Ticket #4066 Number vs. string heuristics for dump
++++ perl: { 'version' => '1.10' };
++++ yaml
+---
+version: 1.10
+
+
+
+=== Ticket #4784 Can't create YAML::Node from 'REF'
++++ skip_this_for_now
++++ perl: my $bar = 1; my $foo = \\\$bar; bless $foo, "bar"
++++ yaml
+
+
+
+=== Ticket #4866 Text with embedded newlines
++++ perl
+{'text' => 'Bla:
+
+- Foo
+- Bar
+'};
++++ yaml
+---
+text: "Bla:\n\n- Foo\n- Bar\n"
+
+
+
+=== Ticket #5299 Load(Dump({"hi, world" => 1})) fails
++++ perl: {"hi, world" => 1}
++++ yaml
+---
+'hi, world': 1
+
+
+
+=== Ticket #5691 Minor doc error in YAML.pod
++++ perl: "YAML:1.0"
++++ yaml
+--- YAML:1.0
+
+
+
+=== Ticket #6095 Hash keys are not always escaped
++++ perl: { 'AVE,' => { '??' => { '??' => 1 } } }
++++ yaml
+---
+'AVE,':
+ '??':
+ '??': 1
+
+
+
+=== Ticket #6139 0.35 can't deserialize blessed scalars
++++ perl: my $x = "abc"; bless \ $x, "ABCD";
++++ yaml
+--- !!perl/scalar:ABCD abc
+
+
+
+=== Ticket #7146 scalar with many spaces doesn't round trip
++++ skip_this_for_now
+Can't get this to work yet.
++++ perl: "A".(" "x200)."B"
++++ yaml
+--- 'A B'
+
+
+
+
+=== Ticket #8795 !!perl/code blocks are evaluated in package main
++++ skip_this_for_now
+This test passes but not sure if this totally represents what was being
+reported. Check back later.
++++ perl: $YAML::UseCode = 1; package Food; sub { 42; }
++++ no_round_trip
++++ yaml
+--- !!perl/code |
+sub {
+ package Food;
+ use warnings;
+ use strict 'refs';
+ 42;
+}
+
+
+=== Ticket #8818 YAML::Load fails if the last value in the stream ends with '|'
++++ perl: ['o|']
++++ yaml
+---
+- 'o|'
+
+
+
+=== Ticket #12729 < and > need to be quoted ?
++++ perl: { a => q(>a), b => q(<b), c => q(<c>)}
++++ yaml
+---
+a: '>a'
+b: <b
+c: '<c>'
+
+
+
+=== Ticket #12770 YAML crashes when tab used for indenting
++++ skip_this_for_now
+Even in the latest version, 0.39, YAML fails when tabulator characters are used for
+indenting. This is expected since the YAML spec forbids this use of tab characters.
+However, there is no error message; YAML.pm just dies. Here's an example:
+
+ perl -MYAML -e "Load(\"Testing:\n\t- Item1\n\")"
+
+fails with
+
+Died at U:\perl-lib\lib/YAML.pm line 1417.
+
+It should at least fail with a message like it does when there's no newline at the
+end:
++++ perl
+
+
+
+=== Ticket #12955 DumpCode claims to support a code ref to serialize code, but doesn't
++++ skip_this_for_now
+The DumpCode option says you can set it to a code ref to control the
+serializing yourself, but this doesn't work.
+
+ $ perl -MYAML -we '
+ $YAML::DumpCode = sub { return "dumped code $_[0]", "test" };
+ print Dump(sub { "foo" });'
+ --- !!perl/code "{\n 'foo';\n}\n"
+ $ _
+
+YAML::Transfer::code::yaml_dump() doesn't look to have any code to
+support a DumpCode which is a code ref, it only tests it as a boolean.
++++ perl
+
+
+
+=== Ticket #12959-a bug - nested inline collections with extra blanks
++++ function: load_passes
++++ yaml
+--- { a: {k: v} }
+
+=== Ticket #12959-b bug - nested inline collections with extra blanks
++++ function: load_passes
++++ yaml
+--- { a: [1] }
+
+=== Ticket #12959-c bug - nested inline collections with extra blanks
++++ function: load_passes
++++ yaml
+--- [ {k: v} ]
+
+=== Ticket #12959-d bug - nested inline collections with extra blanks
++++ function: load_passes
++++ yaml
+--- [ [1] ]
+
+
+
+=== Ticket #13016 Plain Multiline Support
++++ skip_this_for_now
+Fix in upcoming release
++++ function: load_passes
++++ yaml
+quoted: "So does this
+ quoted scalar.\n"
+
+
+
+=== #13500 Load(Dump("|foo")) fails
++++ perl: "|foo"
++++ yaml
+--- '|foo'
+
+
+
+=== Ticket #13510 Another roundtrip fails
++++ skip_this_for_now
++++ perl
+[{'RR1 (Schloflplatz - Wannsee)'=> 1,
+'m‰fliges Kopfsteinpflaster (Teilstrecke)' => 1},
+undef,
+]
++++ yaml
+---
+- 'RR1 (Schloflplatz - Wannsee)': 1
+ m‰fliges Kopfsteinpflaster (Teilstrecke): 1
+- ~
+
+
+
+=== Ticket #14938 Load(Dump(">=")) fails
++++ perl: ">="
++++ yaml
+--- '>='