/usr/local/CPAN/XAO-PodView/testcases/WebPodView.pm
package testcases::WebPodView;
use strict;
use XAO::Utils;
use base qw(testcases::base);
sub test_all {
my $self=shift;
$self->catch_stdout();
$self->{web}->execute(path => '/test.html', cgi => CGI->new(''));
my $text=$self->get_stdout();
my $ok=<<'EOT';
<DIV><FONT SIZE="+2" FACE="Verdana,Arial,Helvetica">TEST</FONT><P>
<FONT SIZE="+1" FACE="Verdana,Arial,Helvetica">MISC TEST</FONT><P>
some paragraph
on <B>multiple</B> lines
that includes <I>italic text</I> and a link: <A HREF="http://testhost.xao.com/test.html?module=IO::File">the IO::File manpage</A>.
<P>
Code sample:<P>
<PRE>
# Like that
#
my $test=1;
# Line after break
</PRE>
<FONT SIZE="+1" FACE="Verdana,Arial,Helvetica">LIST TEST</FONT><P>
Paragraph of text on the top.<P>
<DL>
<DT>aaaa
<DD>
Item a is very strange.<P>
<UL>
<LI>
fubar<P>
<OL>
<LI>
one-one-one<P>
<LI>
two-two-two<P>
</OL>
That was enumerated list in bullet list in definitions list.<P>
Another paragraph here with a <A HREF="http://xao.com/">link</A>.<P>
And yet another one.<P>
<LI>
buraf<P>
</UL>
<DT>bbbb
<DD>
Item b is kind of weird.<P>
<OL>
<LI>
one<P>
<LI>
two<P>
</OL>
That's an enumerated list.<P>
<DT>cccc
<DD>
Item c is from the moon.<P>
<DL>
<DT>first item of inner list
<DD>
some text<P>
<DT>second item with no text
<DD>
<DT>third item with a lot of text
<DD>
aaaaaaaaaaaaaa bbbbbbbbbbbbbbbb ccccccccccc ddddddddddddddd eeeeeee
fffffffff ggggggggggg hhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiii jjjjjjjjjj
kkkkkkkkkkkkk llllllllllllll mmmmmmmmmmmmmmm nnnnnnnnnnnnn oooooooo
ppppppppppppp.
<P>
</DL>
</DL>
<FONT SIZE="+2" FACE="Verdana,Arial,Helvetica">STOP</FONT><P>
Last '<CODE>code</CODE>' paragraph © 2001 ®.<P>
</DIV>
EOT
my $match;
my $pos_text=index($text,substr($ok,0,10));
my $pos_ok=0;
my $line=0;
while($pos_ok<length($ok) &&
substr($ok,$pos_ok,1) eq substr($text,$pos_text,1)) {
$pos_ok++;
$pos_text++;
$line++ if substr($ok,$pos_ok,1) eq "\n";
}
if($pos_ok<length($ok)) {
dprint "Texts do not match in line $line:";
my $ok_exc=substr($ok,$pos_ok-5,20);
my $text_exc=substr($text,$pos_text-5,20);
dprint " Standard: ...$ok_exc...";
dprint " Generated: ...$text_exc...";
$self->assert(0,
"Translation is not correct in line $line" .
" ('$ok_exc' ne '$text_exc')");
}
}
1;