use strict; use warnings; use Test::More tests => 29; #use Pod::Simple::Debug (6); require Pod::Simple::BlackBox; ok 1; require Pod::Simple; ok 1; Pod::Simple->VERSION(.90); ok 1; #print "# Pod::Simple version $Pod::Simple::VERSION\n"; require Pod::Simple::DumpAsXML; ok 1; require Pod::Simple::XMLOutStream; ok 1; BEGIN { require FindBin; unshift @INC, $FindBin::Bin . '/lib'; } use helpers; print "# Simple identity tests...\n"; &is( e "", "" ); &is( e "\n", "", ); &is( e "\n", "\n", ); &is( e "puppies\n\n\n\n", "", ); print "# Contentful identity tests...\n"; &is( e "=pod\n\nFoo\n", "=pod\n\nFoo\n" ); &is( e "=pod\n\n\n\nFoo\n\n\n", "=pod\n\n\n\nFoo\n\n\n" ); &is( e "=pod\n\n\n\nFoo\n\n\n", "=pod\n\nFoo\n" ); # Now with some more newlines &is( e "\n\n=pod\n\nFoo\n", "\n\n=pod\n\nFoo\n" ); &is( e "=pod\n\n\n\nFoo\n\n\n", "=pod\n\n\n\nFoo\n\n\n" ); &is( e "=pod\n\n\n\nFoo\n\n\n", "\n\n=pod\n\nFoo\n" ); &is( e "=head1 Foo\n", "=head1 Foo\n" ); &is( e "=head1 Foo\n\n=cut\n", "=head1 Foo\n\n=cut\n" ); &is( e "=head1 Foo\n\n=cut\n", "=head1 Foo\n" ); # Now just add some newlines... &is( e "\n\n\n\n=head1 Foo\n", "\n\n\n\n=head1 Foo\n" ); &is( e "=head1 Foo\n\n=cut\n", "=head1 Foo\n\n=cut\n" ); &is( e "=head1 Foo\n\n=cut\n", "\n\n\n\n=head1 Foo\n" ); print "# Simple XMLification tests...\n"; is( Pod::Simple::XMLOutStream->_out("\n\n\nprint \$^T;\n\n\n"), qq{} # make sure the contentless flag is set ); is( Pod::Simple::XMLOutStream->_out("\n\n"), qq{} # make sure the contentless flag is set ); is( Pod::Simple::XMLOutStream->_out("\n"), qq{} # make sure the contentless flag is set ); is( Pod::Simple::XMLOutStream->_out(""), qq{} # make sure the contentless flag is set ); ok( Pod::Simple::XMLOutStream->_out('', '' ) ); is( Pod::Simple::XMLOutStream->_out("=pod\n\nFoo\n"), 'Foo' ); is( Pod::Simple::XMLOutStream->_out("=head1 Chacha\n\nFoo\n"), 'ChachaFoo' ); # Make sure an obviously invalid Pod tag is invalid. is( Pod::Simple::XMLOutStream->_out("=F\0blah\n\nwhatever\n"), qq{} );