XML-MinWriter
view release on metacpan or search on metacpan
t/0010_test.t view on Meta::CPAN
is($xlines[ 38], q{}, 'Test-NL-0380');
is($xlines[ 39], q{<test%n>}, 'Test-NL-0390');
is($xlines[ 40], q{u.&.<.>.&amp;.&gt;.&lt;.Z}, 'Test-NL-0400');
is($xlines[ 41], q{</test%n>}, 'Test-NL-0410');
is($xlines[ 42], q{}, 'Test-NL-0420');
is($xlines[ 43], q{<test1%n>}, 'Test-NL-0430');
is($xlines[ 44], q{}, 'Test-NL-0440');
is($xlines[ 45], q{</test1%n>}, 'Test-NL-0450');
is($xlines[ 46], q{}, 'Test-NL-0460');
is($xlines[ 47], q{<one%n>}, 'Test-NL-0470');
is($xlines[ 48], q{}, 'Test-NL-0480');
is($xlines[ 49], q{<two%n>}, 'Test-NL-0490');
is($xlines[ 50], q{}, 'Test-NL-0500');
is($xlines[ 51], q{<three%n>}, 'Test-NL-0510');
is($xlines[ 52], q{}, 'Test-NL-0520');
is($xlines[ 53], q{<four%n>}, 'Test-NL-0530');
is($xlines[ 54], q{}, 'Test-NL-0540');
is($xlines[ 55], q{</four%n>}, 'Test-NL-0550');
is($xlines[ 56], q{}, 'Test-NL-0560');
is($xlines[ 57], q{</three%n>}, 'Test-NL-0570');
is($xlines[ 58], q{}, 'Test-NL-0580');
is($xlines[ 59], q{</two%n>}, 'Test-NL-0590');
is($xlines[ 60], q{}, 'Test-NL-0600');
is($xlines[ 61], q{<one-and-a-half.yo="man".ding="dong"%n>}, 'Test-NL-0610');
is($xlines[ 62], q{}, 'Test-NL-0620');
is($xlines[ 63], q{</one-and-a-half%n>}, 'Test-NL-0622');
is($xlines[ 64], q{}, 'Test-NL-0625');
is($xlines[ 65], q{</one%n>}, 'Test-NL-0630');
is($xlines[ 66], q{}, 'Test-NL-0640');
is($xlines[ 67], q{<root%n>}, 'Test-NL-0650');
is($xlines[ 68], q{..test1.\\n.\\t.\\.\\\\.\\\\\\.a%tb...test2}, 'Test-NL-0660');
is($xlines[ 69], q{</root%n>}, 'Test-NL-0670');
is($xlines[ 70], q{}, 'Test-NL-0680');
is($xlines[ 71], q{</delta%n>}, 'Test-NL-0690');
is($xlines[ 72], q{%n}, 'Test-NL-0700');
}
{
open my $fh, '>', \my $xml or die "Error-0020: Can't open > xml because $!";
my $wrt = XML::MinWriter->new(OUTPUT => $fh, DATA_MODE => 1, DATA_INDENT => 2);
my $wrn = '';
{
local $SIG{__WARN__} = sub { $wrn .= $_[0]; };
$wrt->write_pyx('?xml version="1.0" encoding="iso-8859-1"');
$wrt->write_pyx('(data');
$wrt->write_pyx("(item\n\n\nAattr1 p1\nAattr2 p2\n-line", ")item\n(level");
$wrt->write_pyx('#remark');
$wrt->write_pyx(')level');
$wrt->write_pyx(')data');
}
$wrt->end;
close $fh;
$xml =~ s{\n}"%n"xmsg;
$xml =~ s{ [ ] }'.'xmsg;
$xml =~ s{\t}"%t"xmsg;
my @xlines = split m{(< [^>]* >)}xms, $xml;
is(scalar(@xlines), 17, 'Test-PYX1-0300: Number of lines in XML correct');
is($wrn, q{}, 'Test-PYX1-0305: No Warning emitted');
is($xlines[ 0], q{}, 'Test-PYX1-0310');
is($xlines[ 1], q{<?xml.version="1.0".encoding="iso-8859-1"?>}, 'Test-PYX1-0320');
is($xlines[ 2], q{%n%n}, 'Test-PYX1-0330');
is($xlines[ 3], q{<data>}, 'Test-PYX1-0340');
is($xlines[ 4], q{%n..}, 'Test-PYX1-0350');
is($xlines[ 5], q{<item.attr1="p1".attr2="p2">}, 'Test-PYX1-0360');
is($xlines[ 6], q{line}, 'Test-PYX1-0370');
is($xlines[ 7], q{</item>}, 'Test-PYX1-0380');
is($xlines[ 8], q{%n..}, 'Test-PYX1-0390');
is($xlines[ 9], q{<level>}, 'Test-PYX1-0400');
is($xlines[10], q{%n....}, 'Test-PYX1-0410');
is($xlines[11], q{<!--.remark.-->}, 'Test-PYX1-0420');
is($xlines[12], q{%n..}, 'Test-PYX1-0430');
is($xlines[13], q{</level>}, 'Test-PYX1-0440');
is($xlines[14], q{%n}, 'Test-PYX1-0450');
is($xlines[15], q{</data>}, 'Test-PYX1-0460');
is($xlines[16], q{%n}, 'Test-PYX1-0470');
}
{
open my $fh, '>', \my $xml or die "Error-0040: Can't open > xml because $!";
my $wrt = XML::MinWriter->new(OUTPUT => $fh, NEWLINES => 1);
eval{
$wrt->startTag('abc');
$wrt->end;
};
like($@, qr{Document \s ended \s with \s unmatched \s start \s tag\(s\)}xms, 'Test-0700: end() fails ok');
close $fh;
}
{
open my $fh, '>', \my $xml or die "Error-0050: Can't open > xml because $!";
my $wrt = XML::MinWriter->new(OUTPUT => $fh, NEWLINES => 1);
eval{
$wrt->startTag('abc');
$wrt->endTag('abc');
$wrt->endTag('abc');
$wrt->end;
};
like($@, qr{End \s tag \s "abc" \s does \s not \s close \s any \s open \s element}xms, 'Test-0710: endTag() fails ok');
close $fh;
}
{
open my $fh, '>', \my $xml or die "Error-0070: Can't open > xml because $!";
my $wrt = XML::MinWriter->new(OUTPUT => $fh, NEWLINES => 1);
my $wrn = '';
{
local $SIG{__WARN__} = sub { $wrn .= $_[0]; };
( run in 0.585 second using v1.01-cache-2.11-cpan-71847e10f99 )