#!/usr/bin/perl -wT ############################################################ # name: Line Model (1) # author: Ian Hickson # license: GPL # description: serious stress tests for edge cases of line model # See also: # http://software.hixie.ch/utilities/cgi/test-tools/linemodel1 # http://www.damowmow.com/playground/bugs/tests/compatimg-std.html # http://www.damowmow.com/playground/bugs/tests/compatimg.html # http://bugzilla.mozilla.org/show_bug.cgi?id=13097 # http://bugzilla.mozilla.org/show_bug.cgi?id=25680 ############################################################ use strict; use CGI qw/:standard/; use HTML::Entities; import_names('param'); print "Content-Type: text/html\n\n"; if ($param::mode eq 'standard') { print ""; } else { # 'quirky' print "\n"; } print(< Mozilla Tests: Line Model Tests (1)

Line Model Tests (1)

See bug 13097 for a clue.

end if ($param::mode eq 'standard') { print "

Using standard layout mode and strict parsing mode (hopefully).

"; } else { # 'quirky' print "

Using quirky layout mode and compatability parsing mode (hopefully).

\n"; } my @br = (' ', '
', '
', '
', '
', '

'); my @width = ('50', '100', '150'); if ($param::order eq 'br-width-element') { foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; foreach my $width (@width) { print "

Container Width: $width pixels

\n

Table

\n"; &table($width, $br); print "

DIV

\n"; &div($width, $br); } } } elsif ($param::order eq 'br-element-width') { foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; print "

Table

\n"; foreach my $width (@width) { print "

Container Width: $width pixels

\n"; &table($width, $br); } print "

DIV

\n"; foreach my $width (@width) { print "

Container Width: $width pixels

\n"; &div($width, $br); } } } elsif ($param::order eq 'width-br-element') { foreach my $width (@width) { print "

Container Width: $width pixels

\n"; foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; print "

Table

\n"; &table($width, $br); print "

DIV

\n"; &div($width, $br); } } } elsif ($param::order eq 'width-element-br') { foreach my $width (@width) { print "

Container Width: $width pixels

\n"; print "

Table

\n"; foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; &table($width, $br); } print "

DIV

\n"; foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; &div($width, $br); } } } elsif ($param::order eq 'element-br-width') { print "

Table

\n"; foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; foreach my $width (@width) { print "

Container Width: $width pixels

"; &table($width, $br); } } print "

DIV

\n"; foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; foreach my $width (@width) { print "

Container Width: $width pixels

"; &div($width, $br); } } } else { # ($param::order eq 'element-width-br') { print "

Table

\n"; foreach my $width (@width) { print "

Container Width: $width pixels

\n"; foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; &table($width, $br); } } print "

DIV

\n"; foreach my $width (@width) { print "

Container Width: $width pixels

\n"; foreach my $br (@br) { print "

Images separated by \"".encode_entities($br)."\"

\n"; &div($width, $br); } } } print(<

Test Case Kitchen

Order:
end ############################################################ sub image { my($br) = @_; print 'IMAGE'; print $br; print 'IMAGE'; } sub table { my($width, $br) = @_; print '
'; &image($br); print '
'."\n"; } sub div { my($width, $br) = @_; print '
'; &image($br); print '
'."\n"; }