#!/usr/bin/perl -Wall
use strict;
use warnings;
use Data::YAML::Reader;
my %test = (
name => "Unprintables",
in => [
"---",
"- \"\\z\\x01\\x02\\x03\\x04\\x05\\x06\\a\\x08\\t\\n\\v\\f\\r\\x0e\\x0f\"",
"- \"\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\e\\x1c\\x1d\\x1e\\x1f\"",
"- \" !\\\"#\$%&'()*+,-./\"",
"- 0123456789:;<=>?",
"- '\@ABCDEFGHIJKLMNO'",
"- 'PQRSTUVWXYZ[\\]^_'",
"- '`abcdefghijklmno'",
"- 'pqrstuvwxyz{|}~\177'",
"- \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217",
"- \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237",
"- \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257",
"- \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277",
"- \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317",
"- \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337",
"- \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357",
"- \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377",
"..."
],
out => [
"\0\1\2\3\4\5\6\a\b\t\n\13\f\r\16\17",
"\20\21\22\23\24\25\26\27\30\31\32\e\34\35\36\37",
" !\"#\$%&'()*+,-./",
"0123456789:;<=>?",
"\@ABCDEFGHIJKLMNO",
"PQRSTUVWXYZ[\\]^_",
"`abcdefghijklmno",
"pqrstuvwxyz{|}~\177",
"\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217",
"\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237",
"\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257",
"\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277",
"\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317",
"\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337",
"\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357",
"\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
],
);
sub iter {
my $ar = shift;
return sub {
return shift @$ar;
};
}
my $yaml = Data::YAML::Reader->new;
my $source = join( "\n", @{ $test{in} } ) . "\n";
my $iter = iter( $test{in} );
my $got = $yaml->read($iter) ;
use Test::More tests => 1;
unless ( is_deeply $got, $test{out}, "Result matches" ) {
local $Data::Dumper::Useqq = $Data::Dumper::Useqq = 1;
diag( Data::Dumper->Dump( [$got], ['$got'] ) );
diag( Data::Dumper->Dump( [$test{out}], ['$expected'] ) );
}