aboutsummaryrefslogblamecommitdiffstats
path: root/test-perl.pl
blob: 4f2ea3d2676092a96b10911b758589b7044cdc38 (plain) (tree)


































































                                                                                               
#!/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'] ) );
    }