2010-07-20 Adam Barth <abarth@webkit.org>
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Jul 2010 07:20:22 +0000 (07:20 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Jul 2010 07:20:22 +0000 (07:20 +0000)
        Reviewed by Eric Seidel.

        Import a number of fast/invalid tests into html5lib for easy of fixing
        https://bugs.webkit.org/show_bug.cgi?id=42590

        Working with these DOM dumps is much easier than staring at render
        trees.  Also, this infrastructure lets us cross-test with other
        browsers.

        * html5lib/resources/tricky01.dat: Added.
        * html5lib/runner-expected-html5.txt:
        * html5lib/runner-expected.txt:
        * html5lib/runner.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@63728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/html5lib/resources/tricky01.dat [new file with mode: 0644]
LayoutTests/html5lib/runner-expected-html5.txt
LayoutTests/html5lib/runner-expected.txt
LayoutTests/html5lib/runner.html

index 5255f8f..86bc3f5 100644 (file)
@@ -1,3 +1,19 @@
+2010-07-20  Adam Barth  <abarth@webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Import a number of fast/invalid tests into html5lib for easy of fixing
+        https://bugs.webkit.org/show_bug.cgi?id=42590
+
+        Working with these DOM dumps is much easier than staring at render
+        trees.  Also, this infrastructure lets us cross-test with other
+        browsers.
+
+        * html5lib/resources/tricky01.dat: Added.
+        * html5lib/runner-expected-html5.txt:
+        * html5lib/runner-expected.txt:
+        * html5lib/runner.html:
+
 2010-07-20  Matthew Delaney  <mdelaney@apple.com>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/LayoutTests/html5lib/resources/tricky01.dat b/LayoutTests/html5lib/resources/tricky01.dat
new file mode 100644 (file)
index 0000000..c76470e
--- /dev/null
@@ -0,0 +1,284 @@
+#data
+<b><p>Bold </b> Not bold</p>
+Also not bold.
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <b>
+|     <p>
+|       <b>
+|         "Bold "
+|       " Not bold"
+|     "
+Also not bold."
+
+#data
+<html>
+<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain
+<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>
+<p>Italic and red. </i> Red.</font> I should not be red.</p>
+<b>Bold <i>Bold and italic</b> Only Italic </i> Plain
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <font>
+|       color="red"
+|       <i>
+|         "Italic and Red"
+|     <i>
+|       <p>
+|         <font>
+|           color="red"
+|           "Italic and Red "
+|         " Just italic."
+|       " Italic only."
+|     " Plain
+"
+|     <p>
+|       "I should not be red. "
+|       <font>
+|         color="red"
+|         "Red. "
+|         <i>
+|           "Italic and red."
+|     <font>
+|       color="red"
+|       <i>
+|         "
+"
+|     <p>
+|       <font>
+|         color="red"
+|         <i>
+|           "Italic and red. "
+|         " Red."
+|       " I should not be red."
+|     "
+"
+|     <b>
+|       "Bold "
+|       <i>
+|         "Bold and italic"
+|     <i>
+|       " Only Italic "
+|     " Plain"
+
+#data
+<html><body>
+<p><font size="7">First paragraph.</p>
+<p>Second paragraph.</p></font>
+<b><p><i>Bold and Italic</b> Italic</p>
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <p>
+|       <font>
+|         size="7"
+|         "First paragraph."
+|     <font>
+|       size="7"
+|       "
+"
+|       <p>
+|         "Second paragraph."
+|     "
+"
+|     <b>
+|     <p>
+|       <b>
+|         <i>
+|           "Bold and Italic"
+|       <i>
+|         " Italic"
+
+#data
+<html>
+<dl>
+<dt><b>Boo
+<dd>Goo?
+</dl>
+</html>
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <dl>
+|       "
+"
+|       <dt>
+|         <b>
+|           "Boo
+"
+|       <dd>
+|         <b>
+|           "Goo?
+"
+|     <b>
+|       "
+"
+
+#data
+<html><body>
+<label><a><div>Hello<div>World</div></a></label>  
+</body></html>
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <label>
+|       <a>
+|       <div>
+|         <a>
+|           "Hello"
+|           <div>
+|             "World"
+|         "  
+"
+
+#data
+<TABLE>
+  <CENTER>
+  <FONT>You should see a 100x100 green Image below.
+  </CENTER>
+<IMG alt="Image" width=100 height=100 style="background-color:green">
+<tr><td>
+</td>
+</tr>
+</table>
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       "
+  "
+|       <font>
+|         "You should see a 100x100 green Image below.
+  "
+|     <font>
+|       "
+"
+|       <img>
+|         alt="Image"
+|         height="100"
+|         style="background-color: green;"
+|         width="100"
+|       "
+"
+|     <font>
+|       "
+"
+|     <font>
+|       "
+"
+|     <table>
+|       "
+  "
+|       <tbody>
+|         <tr>
+|           <td>
+|             "
+"
+
+#data
+<table><tr><p><a><p>You should see this text.
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <p>
+|       <a>
+|     <p>
+|       <a>
+|         "You should see this text."
+|     <table>
+|       <tbody>
+|         <tr>
+
+#data
+<TABLE>
+<TR>
+<CENTER><CENTER><TD></TD></TR><TR>
+<FONT>
+<TABLE><tr></tr></TABLE>
+</P>
+<a></font><font></a>
+This page contains an insanely badly-nested tag sequence.
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       <center>
+|     <font>
+|       "
+"
+|     <table>
+|       "
+"
+|       <tbody>
+|         <tr>
+|           "
+"
+|           <td>
+|         <tr>
+|           "
+"
+|     <table>
+|       <tbody>
+|         <tr>
+|     <font>
+|       "
+"
+|       <p>
+|       "
+"
+|       <a>
+|     <a>
+|       <font>
+|     <font>
+|       "
+This page contains an insanely badly-nested tag sequence."
+
+#data
+<html>
+<body>
+<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the
+nobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>
+</body>
+</html>
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <b>
+|       <nobr>
+|     <div>
+|       <b>
+|         <nobr>
+|           "This text is in a div inside a nobr"
+|         "More text that should not be in the nobr, i.e., the
+nobr should have closed the div inside it implicitly. "
+|       <pre>
+|         "A pre tag outside everything else."
+|       "
+
+"
index a4b99d8..708caad 100644 (file)
@@ -285,4 +285,207 @@ resources/inbody01.dat: PASS
 resources/isindex.dat: PASS
 
 resources/tables01.dat: PASS
+
+resources/tricky01.dat:
+2
+6
+7
+
+Test 2 of 9 in resources/tricky01.dat failed. Input:
+<html>
+<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain
+<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>
+<p>Italic and red. </i> Red.</font> I should not be red.</p>
+<b>Bold <i>Bold and italic</b> Only Italic </i> Plain
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <font>
+|       color="red"
+|       <i>
+|         "Italic and Red"
+|     <i>
+|       <p>
+|         <font>
+|           "Italic and Red "
+|         " Just italic."
+|       " Italic only."
+|     " Plain
+"
+|     <p>
+|       "I should not be red. "
+|       <font>
+|         color="red"
+|         "Red. "
+|         <i>
+|           "Italic and red."
+|     <font>
+|       color="red"
+|       <i>
+|         "
+"
+|     <p>
+|       <font>
+|         <i>
+|           "Italic and red. "
+|         " Red."
+|       " I should not be red."
+|     "
+"
+|     <b>
+|       "Bold "
+|       <i>
+|         "Bold and italic"
+|     <i>
+|       " Only Italic "
+|     " Plain"
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <font>
+|       color="red"
+|       <i>
+|         "Italic and Red"
+|     <i>
+|       <p>
+|         <font>
+|           color="red"
+|           "Italic and Red "
+|         " Just italic."
+|       " Italic only."
+|     " Plain
+"
+|     <p>
+|       "I should not be red. "
+|       <font>
+|         color="red"
+|         "Red. "
+|         <i>
+|           "Italic and red."
+|     <font>
+|       color="red"
+|       <i>
+|         "
+"
+|     <p>
+|       <font>
+|         color="red"
+|         <i>
+|           "Italic and red. "
+|         " Red."
+|       " I should not be red."
+|     "
+"
+|     <b>
+|       "Bold "
+|       <i>
+|         "Bold and italic"
+|     <i>
+|       " Only Italic "
+|     " Plain"
+
+Test 6 of 9 in resources/tricky01.dat failed. Input:
+<TABLE>
+  <CENTER>
+  <FONT>You should see a 100x100 green Image below.
+  </CENTER>
+<IMG alt="Image" width=100 height=100 style="background-color:green">
+<tr><td>
+</td>
+</tr>
+</table>
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       "
+  "
+|       <font>
+|         "You should see a 100x100 green Image below.
+  "
+|     <font>
+|       <img>
+|         alt="Image"
+|         height="100"
+|         style="background-color:green"
+|         width="100"
+|       "
+"
+|     <table>
+|       "
+  
+"
+|       <tbody>
+|         <tr>
+|           <td>
+|             "
+"
+|           "
+"
+|         "
+"
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       "
+  "
+|       <font>
+|         "You should see a 100x100 green Image below.
+  "
+|     <font>
+|       "
+"
+|       <img>
+|         alt="Image"
+|         height="100"
+|         style="background-color: green;"
+|         width="100"
+|       "
+"
+|     <font>
+|       "
+"
+|     <font>
+|       "
+"
+|     <table>
+|       "
+  "
+|       <tbody>
+|         <tr>
+|           <td>
+|             "
+"
+
+Test 7 of 9 in resources/tricky01.dat failed. Input:
+<table><tr><p><a><p>You should see this text.
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <p>
+|       <a>
+|     <table>
+|       <tbody>
+|         <tr>
+|           <p>
+|             <a>
+|               "You should see this text."
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <p>
+|       <a>
+|     <p>
+|       <a>
+|         "You should see this text."
+|     <table>
+|       <tbody>
+|         <tr>
 #EOF
index 2109948..834e8cb 100644 (file)
@@ -4933,3 +4933,373 @@ Expected:
 |   <body>
 |     <select>
 |     <table>
+resources/tricky01.dat:
+3
+4
+5
+6
+7
+8
+9
+
+Test 3 of 9 in resources/tricky01.dat failed. Input:
+<html><body>
+<p><font size="7">First paragraph.</p>
+<p>Second paragraph.</p></font>
+<b><p><i>Bold and Italic</b> Italic</p>
+Got:
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <p>
+|       <font>
+|         size="7"
+|         "First paragraph."
+|     <font>
+|       size="7"
+|       "
+"
+|       <p>
+|         "Second paragraph."
+|     "
+"
+|     <b>
+|     <p>
+|       <b>
+|         <i>
+|           "Bold and Italic"
+|       <i>
+|         " Italic"
+|     <i>
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <p>
+|       <font>
+|         size="7"
+|         "First paragraph."
+|     <font>
+|       size="7"
+|       "
+"
+|       <p>
+|         "Second paragraph."
+|     "
+"
+|     <b>
+|     <p>
+|       <b>
+|         <i>
+|           "Bold and Italic"
+|       <i>
+|         " Italic"
+
+Test 4 of 9 in resources/tricky01.dat failed. Input:
+<html>
+<dl>
+<dt><b>Boo
+<dd>Goo?
+</dl>
+</html>
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <dl>
+|       "
+"
+|       <dt>
+|         <b>
+|           "Boo
+"
+|       <b>
+|         <dd>
+|           "Goo?
+"
+|     <b>
+|       "
+"
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <dl>
+|       "
+"
+|       <dt>
+|         <b>
+|           "Boo
+"
+|       <dd>
+|         <b>
+|           "Goo?
+"
+|     <b>
+|       "
+"
+
+Test 5 of 9 in resources/tricky01.dat failed. Input:
+<html><body>
+<label><a><div>Hello<div>World</div></a></label>  
+</body></html>
+Got:
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <label>
+|       <a>
+|       <div>
+|         <a>
+|           "Hello"
+|           <div>
+|             "World"
+|     "  
+"
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <label>
+|       <a>
+|       <div>
+|         <a>
+|           "Hello"
+|           <div>
+|             "World"
+|         "  
+"
+
+Test 6 of 9 in resources/tricky01.dat failed. Input:
+<TABLE>
+  <CENTER>
+  <FONT>You should see a 100x100 green Image below.
+  </CENTER>
+<IMG alt="Image" width=100 height=100 style="background-color:green">
+<tr><td>
+</td>
+</tr>
+</table>
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       "
+  "
+|       <font>
+|         "You should see a 100x100 green Image below.
+  "
+|     <font>
+|       "
+"
+|       <img>
+|         alt="Image"
+|         height="100"
+|         style="background-color:green"
+|         width="100"
+|       "
+"
+|     <table>
+|       "
+  "
+|       <tbody>
+|         <tr>
+|           <td>
+|             "
+"
+|           "
+"
+|         "
+"
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       "
+  "
+|       <font>
+|         "You should see a 100x100 green Image below.
+  "
+|     <font>
+|       "
+"
+|       <img>
+|         alt="Image"
+|         height="100"
+|         style="background-color: green;"
+|         width="100"
+|       "
+"
+|     <font>
+|       "
+"
+|     <font>
+|       "
+"
+|     <table>
+|       "
+  "
+|       <tbody>
+|         <tr>
+|           <td>
+|             "
+"
+
+Test 7 of 9 in resources/tricky01.dat failed. Input:
+<table><tr><p><a><p>You should see this text.
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <p>
+|       <a>
+|     <a>
+|       <p>
+|         "You should see this text."
+|     <table>
+|       <tbody>
+|         <tr>
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <p>
+|       <a>
+|     <p>
+|       <a>
+|         "You should see this text."
+|     <table>
+|       <tbody>
+|         <tr>
+
+Test 8 of 9 in resources/tricky01.dat failed. Input:
+<TABLE>
+<TR>
+<CENTER><CENTER><TD></TD></TR><TR>
+<FONT>
+<TABLE><tr></tr></TABLE>
+</P>
+<a></font><font></a>
+This page contains an insanely badly-nested tag sequence.
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       <center>
+|     <font>
+|       "
+"
+|     <table>
+|       "
+"
+|       <tbody>
+|         <tr>
+|           "
+"
+|           <td>
+|         <tr>
+|           "
+"
+|     <table>
+|       <tbody>
+|         <tr>
+|     "
+"
+|     <p>
+|     "
+"
+|     <a>
+|       <font>
+|     <font>
+|       "
+This page contains an insanely badly-nested tag sequence."
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <center>
+|       <center>
+|     <font>
+|       "
+"
+|     <table>
+|       "
+"
+|       <tbody>
+|         <tr>
+|           "
+"
+|           <td>
+|         <tr>
+|           "
+"
+|     <table>
+|       <tbody>
+|         <tr>
+|     <font>
+|       "
+"
+|       <p>
+|       "
+"
+|       <a>
+|     <a>
+|       <font>
+|     <font>
+|       "
+This page contains an insanely badly-nested tag sequence."
+
+Test 9 of 9 in resources/tricky01.dat failed. Input:
+<html>
+<body>
+<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the
+nobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>
+</body>
+</html>
+Got:
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <b>
+|       <nobr>
+|         <div>
+|           "This text is in a div inside a nobr"
+|       "More text that should not be in the nobr, i.e., the
+nobr should have closed the div inside it implicitly. "
+|     <pre>
+|       "A pre tag outside everything else."
+|     "
+
+"
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     "
+"
+|     <b>
+|       <nobr>
+|     <div>
+|       <b>
+|         <nobr>
+|           "This text is in a div inside a nobr"
+|         "More text that should not be in the nobr, i.e., the
+nobr should have closed the div inside it implicitly. "
+|       <pre>
+|         "A pre tag outside everything else."
+|       "
+
+"
index ce301c1..78428a9 100644 (file)
@@ -62,7 +62,8 @@ var test_files = [
         'resources/adoption01.dat',
         'resources/inbody01.dat',
         'resources/isindex.dat',
-        'resources/tables01.dat'
+        'resources/tables01.dat',
+        'resources/tricky01.dat'
     ],
     tests = [],
     iframe = document.getElementsByTagName("iframe")[0],