Add the original source packages to maemo, source lenny
[dh-make-perl] / dev / i386 / libtest-harness-perl / libtest-harness-perl-3.12 / t / yamlish-output.t
diff --git a/dev/i386/libtest-harness-perl/libtest-harness-perl-3.12/t/yamlish-output.t b/dev/i386/libtest-harness-perl/libtest-harness-perl-3.12/t/yamlish-output.t
new file mode 100644 (file)
index 0000000..914d7ea
--- /dev/null
@@ -0,0 +1,100 @@
+#!/usr/bin/perl -wT
+
+use strict;
+use lib 't/lib';
+
+use Test::More tests => 9;
+
+use TAP::Parser::YAMLish::Writer;
+
+my $out = [
+    "---",
+    "bill-to:",
+    "  address:",
+    "    city: \"Royal Oak\"",
+    "    lines: \"458 Walkman Dr.\\nSuite #292\\n\"",
+    "    postal: 48046",
+    "    state: MI",
+    "  family: Dumars",
+    "  given: Chris",
+    "comments: \"Late afternoon is best. Backup contact is Nancy Billsmer \@ 338-4338\\n\"",
+    "date: 2001-01-23",
+    "invoice: 34843",
+    "product:",
+    "  -",
+    "    description: Basketball",
+    "    price: 450.00",
+    "    quantity: 4",
+    "    sku: BL394D",
+    "  -",
+    "    description: \"Super Hoop\"",
+    "    price: 2392.00",
+    "    quantity: 1",
+    "    sku: BL4438H",
+    "tax: 251.42",
+    "total: 4443.52",
+    "...",
+];
+
+my $in = {
+    'bill-to' => {
+        'given'   => 'Chris',
+        'address' => {
+            'city'   => 'Royal Oak',
+            'postal' => '48046',
+            'lines'  => "458 Walkman Dr.\nSuite #292\n",
+            'state'  => 'MI'
+        },
+        'family' => 'Dumars'
+    },
+    'invoice' => '34843',
+    'date'    => '2001-01-23',
+    'tax'     => '251.42',
+    'product' => [
+        {   'sku'         => 'BL394D',
+            'quantity'    => '4',
+            'price'       => '450.00',
+            'description' => 'Basketball'
+        },
+        {   'sku'         => 'BL4438H',
+            'quantity'    => '1',
+            'price'       => '2392.00',
+            'description' => 'Super Hoop'
+        }
+    ],
+    'comments' =>
+      "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338\n",
+    'total' => '4443.52'
+};
+
+my @buf1 = ();
+my @buf2 = ();
+my $buf3 = '';
+
+my @destination = (
+    {   name        => 'Array reference',
+        destination => \@buf1,
+        normalise   => sub { return \@buf1 },
+    },
+    {   name        => 'Closure',
+        destination => sub { push @buf2, shift },
+        normalise => sub { return \@buf2 },
+    },
+    {   name        => 'Scalar',
+        destination => \$buf3,
+        normalise   => sub {
+            my @ar = split( /\n/, $buf3 );
+            return \@ar;
+        },
+    },
+);
+
+for my $dest (@destination) {
+    my $name = $dest->{name};
+    ok my $yaml = TAP::Parser::YAMLish::Writer->new, "$name: Created";
+    isa_ok $yaml, 'TAP::Parser::YAMLish::Writer';
+
+    $yaml->write( $in, $dest->{destination} );
+    my $got = $dest->{normalise}->();
+    is_deeply $got, $out, "$name: Result matches";
+}