X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=dev%2Fi386%2Flibhtml-tree-perl%2Flibhtml-tree-perl-3.23%2Ft%2Fparse.t;fp=dev%2Fi386%2Flibhtml-tree-perl%2Flibhtml-tree-perl-3.23%2Ft%2Fparse.t;h=a478b05e8482d0f5a6553c3434e88fb211c8f567;hb=8977e561d8a9eae6959218b0306c9df2056a38a9;hp=0000000000000000000000000000000000000000;hpb=df794b845212301ea0d267c919232538bfef356a;p=dh-make-perl diff --git a/dev/i386/libhtml-tree-perl/libhtml-tree-perl-3.23/t/parse.t b/dev/i386/libhtml-tree-perl/libhtml-tree-perl-3.23/t/parse.t new file mode 100644 index 0000000..a478b05 --- /dev/null +++ b/dev/i386/libhtml-tree-perl/libhtml-tree-perl-3.23/t/parse.t @@ -0,0 +1,167 @@ +#!perl -Tw + +use strict; +use Test; +my $DEBUG = 2; +BEGIN { plan tests => 40 } + +use HTML::TreeBuilder; + +print "#Using HTML::TreeBuilder version v$HTML::TreeBuilder::VERSION\n"; +print "#Using HTML::Element version v$HTML::Element::VERSION\n"; +print "#Using HTML::Parser version v", $HTML::Parser::VERSION || "?", "\n"; +print "#Using HTML::Entities version v", $HTML::Entities::VERSION || "?", "\n"; +print "#Using HTML::Tagset version v", $HTML::Tagset::VERSION || "?", "\n"; +print "# Running under perl version $] for $^O", + (chr(65) eq 'A') ? "\n" : " in a non-ASCII world\n"; +print "# Win32::BuildNumber ", &Win32::BuildNumber(), "\n" + if defined(&Win32::BuildNumber) and defined &Win32::BuildNumber(); +print "# MacPerl verison $MacPerl::Version\n" + if defined $MacPerl::Version; +printf + "# Current time local: %s\n# Current time GMT: %s\n", + scalar(localtime($^T)), scalar(gmtime($^T)); + + +ok 1; + +{ + my $tree = HTML::TreeBuilder->new; + $tree->parse('foo

I like pie'); + $tree->eof; + ok($tree->as_XML, + "foo" + ."

I like pie

\n" + ); + $tree->delete; +} + +ok !same('x' => 'y', 1); +ok !same('

' => 'y', 1); + +ok same('' => ''); +ok same('' => ' '); +ok same('' => ' '); + +ok same('' => ''); +ok same('' => ''); + +ok same('' => \''); + +ok same('' => ''); + +ok same('' => \''); + +ok same( '456' => '456' ); +ok same( '456' => '456' ); +ok same( '456' => '456' ); + +ok !same( '456' => '456', 1 ); + + +ok same( 'abc xyz' => 'abc xyz' ); +ok same( 'abc xyz' => 'abc xyz' ); + +ok same( 'abc+xyz' => 'abc+xyz' ); +ok same( 'abc+xyz' => 'abc+xyz' ); + +ok same( 'abc+xyz' => 'abc+xyz' ); +ok same( 'abc+xyz' => 'abc+xyz' ); + +print "#\n# Now some list tests.\n#\n"; + + +ok same('

after' => 'after'); +ok same('after' => 'after'); + + +ok same('after' => 'after'); + +ok same('after' => + \'after'); + + +print "#\n# Now some table tests.\n#\n"; + +ok same('x
yz' + => '
xyz
'); + +ok same('xz' + => '
y
xy
z
'); + + +ok same( '
xy
z
' + => '
xy
z
'); +ok same( '
xy
z
' + => \'
xy
z
'); + +ok same('x' => '
x'); +ok same('x' => '
x'); +ok same('x' => 'x'); +ok same('
x' => '
x'); +ok same('x' => '
x'); +ok same('
x' => '
x'); + + + +print "#\n# Now some p tests.\n#\n"; + +ok same('

x

y

z' => '

x

y

z'); +ok same('

x

y

z' => '

x

y

z

'); +ok same('

x

y

z' => '

x

y

z

'); +ok same('

x

y

z' => \'

x

y

z

'); + + +sub same { + my($code1, $code2, $flip) = @_; + my $t1 = HTML::TreeBuilder->new; + my $t2 = HTML::TreeBuilder->new; + + if(ref $code1) { $t1->implicit_tags(0); $code1 = $$code1 } + if(ref $code2) { $t2->implicit_tags(0); $code2 = $$code2 } + + $t1->parse($code1); $t1->eof; + $t2->parse($code2); $t2->eof; + + my $out1 = $t1->as_XML; + my $out2 = $t2->as_XML; + + my $rv = ($out1 eq $out2); + + #print $rv? "RV TRUE\n" : "RV FALSE\n"; + #print $flip? "FLIP TRUE\n" : "FLIP FALSE\n"; + + if($flip ? (!$rv) : $rv) { + if($DEBUG > 2) { + print + "In1 $code1\n", + "In2 $code2\n", + "Out1 $out1\n", + "Out2 $out2\n", + "\n\n"; + } + } else { + local $_; + foreach my $line ( + '', + "The following failure is at " . join(' : ' ,caller), + "Explanation of failure: " . ($flip ? 'same' : 'different') + . " parse trees!", + "Input code 1:", $code1, + "Input code 2:", $code2, + "Output tree (as XML) 1:", $out1, + "Output tree (as XML) 2:", $out2, + ) { + $_ = $line; + s/\n/\n# /g; + print "# ", $_, "\n"; + } + } + + $t1->delete; + $t2->delete; + + return $rv; +} + +