New layout tests for the bugs I just fixed.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Sep 2004 02:07:37 +0000 (02:07 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Sep 2004 02:07:37 +0000 (02:07 +0000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7686 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/fast/dom/clone-node-dynamic-style-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/clone-node-dynamic-style.html [new file with mode: 0644]
LayoutTests/fast/dom/features-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/features.html [new file with mode: 0644]
LayoutTests/fast/dom/row-inner-text-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/row-inner-text.html [new file with mode: 0644]
LayoutTests/fast/js/char-at-expected.txt [new file with mode: 0644]
LayoutTests/fast/js/char-at.html [new file with mode: 0644]
LayoutTests/fast/js/declaration-in-block-expected.txt [new file with mode: 0644]
LayoutTests/fast/js/declaration-in-block.html [new file with mode: 0644]

diff --git a/LayoutTests/fast/dom/clone-node-dynamic-style-expected.txt b/LayoutTests/fast/dom/clone-node-dynamic-style-expected.txt
new file mode 100644 (file)
index 0000000..2d23208
--- /dev/null
@@ -0,0 +1,46 @@
+layer at (0,0) size 800x600
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {H1} at (0,0) size 784x37
+        RenderText {TEXT} at (0,0) size 195x37
+          text run at (0,0) width 195: "Cloning nodes"
+      RenderBlock {DIV} at (0,58) size 784x76 [bgcolor=#FFFF00] [border: (2px ridge #000000)]
+        RenderInline {SPAN} at (0,0) size 768x72
+          RenderText {TEXT} at (2,2) size 60x36
+            text run at (2,2) width 60: "Bold"
+          RenderInline {SPAN} at (0,0) size 708x36
+            RenderText {TEXT} at (62,2) size 205x36
+              text run at (62,2) width 205: "Bold+Underline"
+            RenderInline {SPAN} at (0,0) size 281x36
+              RenderText {TEXT} at (267,2) size 281x36
+                text run at (267,2) width 281: "Bold+Underline+Italic"
+            RenderText {TEXT} at (548,2) size 222x36
+              text run at (548,2) width 222: "Bold+Uunderline"
+          RenderText {TEXT} at (2,38) size 60x36
+            text run at (2,38) width 60: "Bold"
+        RenderText {TEXT} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,134) size 784x18
+        RenderText {TEXT} at (0,0) size 189x18
+          text run at (0,0) width 189: "Cloned Node with deep=false"
+      RenderBlock {DIV} at (0,152) size 784x40 [bgcolor=#FFFF00] [border: (2px ridge #000000)]
+        RenderBR {BR} at (2,2) size 0x36
+      RenderBlock (anonymous) at (0,192) size 784x18
+        RenderText {TEXT} at (0,0) size 184x18
+          text run at (0,0) width 184: "Cloned Node with deep=true"
+      RenderBlock {DIV} at (0,210) size 784x76 [bgcolor=#FFFF00] [border: (2px ridge #000000)]
+        RenderInline {SPAN} at (0,0) size 768x72
+          RenderText {TEXT} at (2,2) size 60x36
+            text run at (2,2) width 60: "Bold"
+          RenderInline {SPAN} at (0,0) size 708x36
+            RenderText {TEXT} at (62,2) size 205x36
+              text run at (62,2) width 205: "Bold+Underline"
+            RenderInline {SPAN} at (0,0) size 281x36
+              RenderText {TEXT} at (267,2) size 281x36
+                text run at (267,2) width 281: "Bold+Underline+Italic"
+            RenderText {TEXT} at (548,2) size 222x36
+              text run at (548,2) width 222: "Bold+Uunderline"
+          RenderText {TEXT} at (2,38) size 60x36
+            text run at (2,38) width 60: "Bold"
+        RenderText {TEXT} at (0,0) size 0x0
diff --git a/LayoutTests/fast/dom/clone-node-dynamic-style.html b/LayoutTests/fast/dom/clone-node-dynamic-style.html
new file mode 100644 (file)
index 0000000..19f9c51
--- /dev/null
@@ -0,0 +1,36 @@
+<html>
+<head>
+  <title>Test CloneNode</title>
+  <script type="text/javascript">
+  <!--
+  function init() {
+    var brNode = document.createElement("br");
+
+    var myDiv = document.getElementById("myDiv");
+    myDiv.style["fontSize"] = "30";
+    myDiv.style["borderWidth"] = "2";
+    myDiv.style["borderStyle"] = "ridge";
+    myDiv.style["backgroundColor"] = "yellow";
+
+    var myClonedDiv = myDiv.cloneNode(false);
+    myClonedDiv.id = "myClonedDiv";
+    myClonedDiv.appendChild(brNode);
+    myDiv.parentNode.appendChild(document.createTextNode("Cloned Node with deep=false"));
+    myDiv.parentNode.appendChild(myClonedDiv);
+
+    var myDeepClonedDiv = myDiv.cloneNode(true);
+    myDeepClonedDiv.id = "myDeepClonedDiv";
+    myDiv.parentNode.appendChild(document.createTextNode("Cloned Node with deep=true"));
+    myDiv.parentNode.appendChild(myDeepClonedDiv);
+    
+  }
+  //-->
+  </script>
+</head>
+  <body onload="init()">
+    <h1>Cloning nodes</h1>
+    <div id="myDiv">
+    <span style="font-weight:bold">Bold<span style="text-decoration:underline">Bold+Underline<span style="font-style:italic">Bold+Underline+Italic</span>Bold+Uunderline</span>Bold</span>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/dom/features-expected.txt b/LayoutTests/fast/dom/features-expected.txt
new file mode 100644 (file)
index 0000000..363a1fd
--- /dev/null
@@ -0,0 +1,383 @@
+layer at (0,0) size 800x2284
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x2284
+  RenderBlock {HTML} at (0,0) size 800x2284
+    RenderBody {BODY} at (8,8) size 784x2268
+      RenderBlock {DIV} at (0,0) size 784x18
+        RenderText {TEXT} at (0,0) size 180x18
+          text run at (0,0) width 180: "\"Core\", undefined: true, true"
+      RenderBlock {DIV} at (0,18) size 784x18
+        RenderText {TEXT} at (0,0) size 195x18
+          text run at (0,0) width 195: "\"HTML\", undefined: true, true"
+      RenderBlock {DIV} at (0,36) size 784x18
+        RenderText {TEXT} at (0,0) size 185x18
+          text run at (0,0) width 185: "\"XML\", undefined: true, true"
+      RenderBlock {DIV} at (0,54) size 784x18
+        RenderText {TEXT} at (0,0) size 190x18
+          text run at (0,0) width 190: "\"Views\", undefined: true, true"
+      RenderBlock {DIV} at (0,72) size 784x18
+        RenderText {TEXT} at (0,0) size 222x18
+          text run at (0,0) width 222: "\"StyleSheets\", undefined: true, true"
+      RenderBlock {DIV} at (0,90) size 784x18
+        RenderText {TEXT} at (0,0) size 178x18
+          text run at (0,0) width 178: "\"CSS\", undefined: true, true"
+      RenderBlock {DIV} at (0,108) size 784x18
+        RenderText {TEXT} at (0,0) size 186x18
+          text run at (0,0) width 186: "\"CSS2\", undefined: true, true"
+      RenderBlock {DIV} at (0,126) size 784x18
+        RenderText {TEXT} at (0,0) size 196x18
+          text run at (0,0) width 196: "\"CSS3\", undefined: false, false"
+      RenderBlock {DIV} at (0,144) size 784x18
+        RenderText {TEXT} at (0,0) size 192x18
+          text run at (0,0) width 192: "\"Events\", undefined: true, true"
+      RenderBlock {DIV} at (0,162) size 784x18
+        RenderText {TEXT} at (0,0) size 209x18
+          text run at (0,0) width 209: "\"UIEvents\", undefined: true, true"
+      RenderBlock {DIV} at (0,180) size 784x18
+        RenderText {TEXT} at (0,0) size 235x18
+          text run at (0,0) width 235: "\"MouseEvents\", undefined: true, true"
+      RenderBlock {DIV} at (0,198) size 784x18
+        RenderText {TEXT} at (0,0) size 238x18
+          text run at (0,0) width 238: "\"HTMLEvents\", undefined: true, true"
+      RenderBlock {DIV} at (0,216) size 784x18
+        RenderText {TEXT} at (0,0) size 249x18
+          text run at (0,0) width 249: "\"MutationEvents\", undefined: true, true"
+      RenderBlock {DIV} at (0,234) size 784x18
+        RenderText {TEXT} at (0,0) size 190x18
+          text run at (0,0) width 190: "\"Range\", undefined: true, true"
+      RenderBlock {DIV} at (0,252) size 784x18
+        RenderText {TEXT} at (0,0) size 208x18
+          text run at (0,0) width 208: "\"Traversal\", undefined: true, true"
+      RenderBlock {DIV} at (0,270) size 784x18
+        RenderText {TEXT} at (0,0) size 141x18
+          text run at (0,0) width 141: "\"Core\", null: true, true"
+      RenderBlock {DIV} at (0,288) size 784x18
+        RenderText {TEXT} at (0,0) size 156x18
+          text run at (0,0) width 156: "\"HTML\", null: true, true"
+      RenderBlock {DIV} at (0,306) size 784x18
+        RenderText {TEXT} at (0,0) size 146x18
+          text run at (0,0) width 146: "\"XML\", null: true, true"
+      RenderBlock {DIV} at (0,324) size 784x18
+        RenderText {TEXT} at (0,0) size 151x18
+          text run at (0,0) width 151: "\"Views\", null: true, true"
+      RenderBlock {DIV} at (0,342) size 784x18
+        RenderText {TEXT} at (0,0) size 183x18
+          text run at (0,0) width 183: "\"StyleSheets\", null: true, true"
+      RenderBlock {DIV} at (0,360) size 784x18
+        RenderText {TEXT} at (0,0) size 139x18
+          text run at (0,0) width 139: "\"CSS\", null: true, true"
+      RenderBlock {DIV} at (0,378) size 784x18
+        RenderText {TEXT} at (0,0) size 147x18
+          text run at (0,0) width 147: "\"CSS2\", null: true, true"
+      RenderBlock {DIV} at (0,396) size 784x18
+        RenderText {TEXT} at (0,0) size 157x18
+          text run at (0,0) width 157: "\"CSS3\", null: false, false"
+      RenderBlock {DIV} at (0,414) size 784x18
+        RenderText {TEXT} at (0,0) size 153x18
+          text run at (0,0) width 153: "\"Events\", null: true, true"
+      RenderBlock {DIV} at (0,432) size 784x18
+        RenderText {TEXT} at (0,0) size 170x18
+          text run at (0,0) width 170: "\"UIEvents\", null: true, true"
+      RenderBlock {DIV} at (0,450) size 784x18
+        RenderText {TEXT} at (0,0) size 196x18
+          text run at (0,0) width 196: "\"MouseEvents\", null: true, true"
+      RenderBlock {DIV} at (0,468) size 784x18
+        RenderText {TEXT} at (0,0) size 199x18
+          text run at (0,0) width 199: "\"HTMLEvents\", null: true, true"
+      RenderBlock {DIV} at (0,486) size 784x18
+        RenderText {TEXT} at (0,0) size 210x18
+          text run at (0,0) width 210: "\"MutationEvents\", null: true, true"
+      RenderBlock {DIV} at (0,504) size 784x18
+        RenderText {TEXT} at (0,0) size 151x18
+          text run at (0,0) width 151: "\"Range\", null: true, true"
+      RenderBlock {DIV} at (0,522) size 784x18
+        RenderText {TEXT} at (0,0) size 169x18
+          text run at (0,0) width 169: "\"Traversal\", null: true, true"
+      RenderBlock {DIV} at (0,540) size 784x18
+        RenderText {TEXT} at (0,0) size 131x18
+          text run at (0,0) width 131: "\"Core\", \"\": true, true"
+      RenderBlock {DIV} at (0,558) size 784x18
+        RenderText {TEXT} at (0,0) size 146x18
+          text run at (0,0) width 146: "\"HTML\", \"\": true, true"
+      RenderBlock {DIV} at (0,576) size 784x18
+        RenderText {TEXT} at (0,0) size 136x18
+          text run at (0,0) width 136: "\"XML\", \"\": true, true"
+      RenderBlock {DIV} at (0,594) size 784x18
+        RenderText {TEXT} at (0,0) size 141x18
+          text run at (0,0) width 141: "\"Views\", \"\": true, true"
+      RenderBlock {DIV} at (0,612) size 784x18
+        RenderText {TEXT} at (0,0) size 173x18
+          text run at (0,0) width 173: "\"StyleSheets\", \"\": true, true"
+      RenderBlock {DIV} at (0,630) size 784x18
+        RenderText {TEXT} at (0,0) size 129x18
+          text run at (0,0) width 129: "\"CSS\", \"\": true, true"
+      RenderBlock {DIV} at (0,648) size 784x18
+        RenderText {TEXT} at (0,0) size 137x18
+          text run at (0,0) width 137: "\"CSS2\", \"\": true, true"
+      RenderBlock {DIV} at (0,666) size 784x18
+        RenderText {TEXT} at (0,0) size 147x18
+          text run at (0,0) width 147: "\"CSS3\", \"\": false, false"
+      RenderBlock {DIV} at (0,684) size 784x18
+        RenderText {TEXT} at (0,0) size 143x18
+          text run at (0,0) width 143: "\"Events\", \"\": true, true"
+      RenderBlock {DIV} at (0,702) size 784x18
+        RenderText {TEXT} at (0,0) size 160x18
+          text run at (0,0) width 160: "\"UIEvents\", \"\": true, true"
+      RenderBlock {DIV} at (0,720) size 784x18
+        RenderText {TEXT} at (0,0) size 186x18
+          text run at (0,0) width 186: "\"MouseEvents\", \"\": true, true"
+      RenderBlock {DIV} at (0,738) size 784x18
+        RenderText {TEXT} at (0,0) size 189x18
+          text run at (0,0) width 189: "\"HTMLEvents\", \"\": true, true"
+      RenderBlock {DIV} at (0,756) size 784x18
+        RenderText {TEXT} at (0,0) size 200x18
+          text run at (0,0) width 200: "\"MutationEvents\", \"\": true, true"
+      RenderBlock {DIV} at (0,774) size 784x18
+        RenderText {TEXT} at (0,0) size 141x18
+          text run at (0,0) width 141: "\"Range\", \"\": true, true"
+      RenderBlock {DIV} at (0,792) size 784x18
+        RenderText {TEXT} at (0,0) size 159x18
+          text run at (0,0) width 159: "\"Traversal\", \"\": true, true"
+      RenderBlock {DIV} at (0,810) size 784x18
+        RenderText {TEXT} at (0,0) size 151x18
+          text run at (0,0) width 151: "\"Core\", \"1.0\": true, true"
+      RenderBlock {DIV} at (0,828) size 784x18
+        RenderText {TEXT} at (0,0) size 166x18
+          text run at (0,0) width 166: "\"HTML\", \"1.0\": true, true"
+      RenderBlock {DIV} at (0,846) size 784x18
+        RenderText {TEXT} at (0,0) size 156x18
+          text run at (0,0) width 156: "\"XML\", \"1.0\": true, true"
+      RenderBlock {DIV} at (0,864) size 784x18
+        RenderText {TEXT} at (0,0) size 171x18
+          text run at (0,0) width 171: "\"Views\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,882) size 784x18
+        RenderText {TEXT} at (0,0) size 203x18
+          text run at (0,0) width 203: "\"StyleSheets\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,900) size 784x18
+        RenderText {TEXT} at (0,0) size 159x18
+          text run at (0,0) width 159: "\"CSS\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,918) size 784x18
+        RenderText {TEXT} at (0,0) size 167x18
+          text run at (0,0) width 167: "\"CSS2\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,936) size 784x18
+        RenderText {TEXT} at (0,0) size 167x18
+          text run at (0,0) width 167: "\"CSS3\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,954) size 784x18
+        RenderText {TEXT} at (0,0) size 173x18
+          text run at (0,0) width 173: "\"Events\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,972) size 784x18
+        RenderText {TEXT} at (0,0) size 190x18
+          text run at (0,0) width 190: "\"UIEvents\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,990) size 784x18
+        RenderText {TEXT} at (0,0) size 216x18
+          text run at (0,0) width 216: "\"MouseEvents\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,1008) size 784x18
+        RenderText {TEXT} at (0,0) size 219x18
+          text run at (0,0) width 219: "\"HTMLEvents\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,1026) size 784x18
+        RenderText {TEXT} at (0,0) size 230x18
+          text run at (0,0) width 230: "\"MutationEvents\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,1044) size 784x18
+        RenderText {TEXT} at (0,0) size 171x18
+          text run at (0,0) width 171: "\"Range\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,1062) size 784x18
+        RenderText {TEXT} at (0,0) size 189x18
+          text run at (0,0) width 189: "\"Traversal\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,1080) size 784x18
+        RenderText {TEXT} at (0,0) size 151x18
+          text run at (0,0) width 151: "\"Core\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1098) size 784x18
+        RenderText {TEXT} at (0,0) size 166x18
+          text run at (0,0) width 166: "\"HTML\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1116) size 784x18
+        RenderText {TEXT} at (0,0) size 156x18
+          text run at (0,0) width 156: "\"XML\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1134) size 784x18
+        RenderText {TEXT} at (0,0) size 161x18
+          text run at (0,0) width 161: "\"Views\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1152) size 784x18
+        RenderText {TEXT} at (0,0) size 193x18
+          text run at (0,0) width 193: "\"StyleSheets\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1170) size 784x18
+        RenderText {TEXT} at (0,0) size 149x18
+          text run at (0,0) width 149: "\"CSS\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1188) size 784x18
+        RenderText {TEXT} at (0,0) size 157x18
+          text run at (0,0) width 157: "\"CSS2\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1206) size 784x18
+        RenderText {TEXT} at (0,0) size 167x18
+          text run at (0,0) width 167: "\"CSS3\", \"2.0\": false, false"
+      RenderBlock {DIV} at (0,1224) size 784x18
+        RenderText {TEXT} at (0,0) size 163x18
+          text run at (0,0) width 163: "\"Events\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1242) size 784x18
+        RenderText {TEXT} at (0,0) size 180x18
+          text run at (0,0) width 180: "\"UIEvents\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1260) size 784x18
+        RenderText {TEXT} at (0,0) size 206x18
+          text run at (0,0) width 206: "\"MouseEvents\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1278) size 784x18
+        RenderText {TEXT} at (0,0) size 209x18
+          text run at (0,0) width 209: "\"HTMLEvents\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1296) size 784x18
+        RenderText {TEXT} at (0,0) size 220x18
+          text run at (0,0) width 220: "\"MutationEvents\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1314) size 784x18
+        RenderText {TEXT} at (0,0) size 161x18
+          text run at (0,0) width 161: "\"Range\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1332) size 784x18
+        RenderText {TEXT} at (0,0) size 179x18
+          text run at (0,0) width 179: "\"Traversal\", \"2.0\": true, true"
+      RenderBlock {DIV} at (0,1350) size 784x18
+        RenderText {TEXT} at (0,0) size 161x18
+          text run at (0,0) width 161: "\"Core\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1368) size 784x18
+        RenderText {TEXT} at (0,0) size 176x18
+          text run at (0,0) width 176: "\"HTML\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1386) size 784x18
+        RenderText {TEXT} at (0,0) size 166x18
+          text run at (0,0) width 166: "\"XML\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1404) size 784x18
+        RenderText {TEXT} at (0,0) size 171x18
+          text run at (0,0) width 171: "\"Views\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1422) size 784x18
+        RenderText {TEXT} at (0,0) size 203x18
+          text run at (0,0) width 203: "\"StyleSheets\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1440) size 784x18
+        RenderText {TEXT} at (0,0) size 159x18
+          text run at (0,0) width 159: "\"CSS\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1458) size 784x18
+        RenderText {TEXT} at (0,0) size 167x18
+          text run at (0,0) width 167: "\"CSS2\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1476) size 784x18
+        RenderText {TEXT} at (0,0) size 167x18
+          text run at (0,0) width 167: "\"CSS3\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1494) size 784x18
+        RenderText {TEXT} at (0,0) size 173x18
+          text run at (0,0) width 173: "\"Events\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1512) size 784x18
+        RenderText {TEXT} at (0,0) size 190x18
+          text run at (0,0) width 190: "\"UIEvents\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1530) size 784x18
+        RenderText {TEXT} at (0,0) size 216x18
+          text run at (0,0) width 216: "\"MouseEvents\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1548) size 784x18
+        RenderText {TEXT} at (0,0) size 219x18
+          text run at (0,0) width 219: "\"HTMLEvents\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1566) size 784x18
+        RenderText {TEXT} at (0,0) size 230x18
+          text run at (0,0) width 230: "\"MutationEvents\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1584) size 784x18
+        RenderText {TEXT} at (0,0) size 171x18
+          text run at (0,0) width 171: "\"Range\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1602) size 784x18
+        RenderText {TEXT} at (0,0) size 189x18
+          text run at (0,0) width 189: "\"Traversal\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1620) size 784x18
+        RenderText {TEXT} at (0,0) size 199x18
+          text run at (0,0) width 199: "\"Core\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1638) size 784x18
+        RenderText {TEXT} at (0,0) size 214x18
+          text run at (0,0) width 214: "\"HTML\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1656) size 784x18
+        RenderText {TEXT} at (0,0) size 204x18
+          text run at (0,0) width 204: "\"XML\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1674) size 784x18
+        RenderText {TEXT} at (0,0) size 209x18
+          text run at (0,0) width 209: "\"Views\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1692) size 784x18
+        RenderText {TEXT} at (0,0) size 241x18
+          text run at (0,0) width 241: "\"StyleSheets\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1710) size 784x18
+        RenderText {TEXT} at (0,0) size 197x18
+          text run at (0,0) width 197: "\"CSS\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1728) size 784x18
+        RenderText {TEXT} at (0,0) size 205x18
+          text run at (0,0) width 205: "\"CSS2\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1746) size 784x18
+        RenderText {TEXT} at (0,0) size 205x18
+          text run at (0,0) width 205: "\"CSS3\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1764) size 784x18
+        RenderText {TEXT} at (0,0) size 211x18
+          text run at (0,0) width 211: "\"Events\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1782) size 784x18
+        RenderText {TEXT} at (0,0) size 228x18
+          text run at (0,0) width 228: "\"UIEvents\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1800) size 784x18
+        RenderText {TEXT} at (0,0) size 254x18
+          text run at (0,0) width 254: "\"MouseEvents\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1818) size 784x18
+        RenderText {TEXT} at (0,0) size 257x18
+          text run at (0,0) width 257: "\"HTMLEvents\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1836) size 784x18
+        RenderText {TEXT} at (0,0) size 268x18
+          text run at (0,0) width 268: "\"MutationEvents\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1854) size 784x18
+        RenderText {TEXT} at (0,0) size 209x18
+          text run at (0,0) width 209: "\"Range\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1872) size 784x18
+        RenderText {TEXT} at (0,0) size 227x18
+          text run at (0,0) width 227: "\"Traversal\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1890) size 784x18
+        RenderText {TEXT} at (0,0) size 159x18
+          text run at (0,0) width 159: "undefined, \"\": false, false"
+      RenderBlock {DIV} at (0,1908) size 784x18
+        RenderText {TEXT} at (0,0) size 179x18
+          text run at (0,0) width 179: "undefined, \"1.0\": false, false"
+      RenderBlock {DIV} at (0,1926) size 784x18
+        RenderText {TEXT} at (0,0) size 179x18
+          text run at (0,0) width 179: "undefined, \"2.0\": false, false"
+      RenderBlock {DIV} at (0,1944) size 784x18
+        RenderText {TEXT} at (0,0) size 179x18
+          text run at (0,0) width 179: "undefined, \"3.0\": false, false"
+      RenderBlock {DIV} at (0,1962) size 784x18
+        RenderText {TEXT} at (0,0) size 217x18
+          text run at (0,0) width 217: "undefined, \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,1980) size 784x18
+        RenderText {TEXT} at (0,0) size 208x18
+          text run at (0,0) width 208: "undefined, undefined: false, false"
+      RenderBlock {DIV} at (0,1998) size 784x18
+        RenderText {TEXT} at (0,0) size 169x18
+          text run at (0,0) width 169: "undefined, null: false, false"
+      RenderBlock {DIV} at (0,2016) size 784x18
+        RenderText {TEXT} at (0,0) size 120x18
+          text run at (0,0) width 120: "null, \"\": false, false"
+      RenderBlock {DIV} at (0,2034) size 784x18
+        RenderText {TEXT} at (0,0) size 140x18
+          text run at (0,0) width 140: "null, \"1.0\": false, false"
+      RenderBlock {DIV} at (0,2052) size 784x18
+        RenderText {TEXT} at (0,0) size 140x18
+          text run at (0,0) width 140: "null, \"2.0\": false, false"
+      RenderBlock {DIV} at (0,2070) size 784x18
+        RenderText {TEXT} at (0,0) size 140x18
+          text run at (0,0) width 140: "null, \"3.0\": false, false"
+      RenderBlock {DIV} at (0,2088) size 784x18
+        RenderText {TEXT} at (0,0) size 178x18
+          text run at (0,0) width 178: "null, \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,2106) size 784x18
+        RenderText {TEXT} at (0,0) size 169x18
+          text run at (0,0) width 169: "null, undefined: false, false"
+      RenderBlock {DIV} at (0,2124) size 784x18
+        RenderText {TEXT} at (0,0) size 130x18
+          text run at (0,0) width 130: "null, null: false, false"
+      RenderBlock {DIV} at (0,2142) size 784x18
+        RenderText {TEXT} at (0,0) size 168x18
+          text run at (0,0) width 168: "\"nonsense\", \"\": false, false"
+      RenderBlock {DIV} at (0,2160) size 784x18
+        RenderText {TEXT} at (0,0) size 188x18
+          text run at (0,0) width 188: "\"nonsense\", \"1.0\": false, false"
+      RenderBlock {DIV} at (0,2178) size 784x18
+        RenderText {TEXT} at (0,0) size 188x18
+          text run at (0,0) width 188: "\"nonsense\", \"2.0\": false, false"
+      RenderBlock {DIV} at (0,2196) size 784x18
+        RenderText {TEXT} at (0,0) size 188x18
+          text run at (0,0) width 188: "\"nonsense\", \"3.0\": false, false"
+      RenderBlock {DIV} at (0,2214) size 784x18
+        RenderText {TEXT} at (0,0) size 226x18
+          text run at (0,0) width 226: "\"nonsense\", \"nonsense\": false, false"
+      RenderBlock {DIV} at (0,2232) size 784x18
+        RenderText {TEXT} at (0,0) size 217x18
+          text run at (0,0) width 217: "\"nonsense\", undefined: false, false"
+      RenderBlock {DIV} at (0,2250) size 784x18
+        RenderText {TEXT} at (0,0) size 178x18
+          text run at (0,0) width 178: "\"nonsense\", null: false, false"
diff --git a/LayoutTests/fast/dom/features.html b/LayoutTests/fast/dom/features.html
new file mode 100644 (file)
index 0000000..26a815b
--- /dev/null
@@ -0,0 +1,173 @@
+<script>
+
+function test() {
+
+    var undefined;
+
+    var features = [
+        ["Core", undefined],
+        ["HTML", undefined],
+        ["XML", undefined],
+        ["Views", undefined],
+        ["StyleSheets", undefined],
+        ["CSS", undefined],
+        ["CSS2", undefined],
+        ["CSS3", undefined],
+        ["Events", undefined],
+        ["UIEvents", undefined],
+        ["MouseEvents", undefined],
+        ["HTMLEvents", undefined],
+        ["MutationEvents", undefined],
+        ["Range", undefined],
+        ["Traversal", undefined],
+
+        ["Core", null],
+        ["HTML", null],
+        ["XML", null],
+        ["Views", null],
+        ["StyleSheets", null],
+        ["CSS", null],
+        ["CSS2", null],
+        ["CSS3", null],
+        ["Events", null],
+        ["UIEvents", null],
+        ["MouseEvents", null],
+        ["HTMLEvents", null],
+        ["MutationEvents", null],
+        ["Range", null],
+        ["Traversal", null],
+
+        ["Core", ""],
+        ["HTML", ""],
+        ["XML", ""],
+        ["Views", ""],
+        ["StyleSheets", ""],
+        ["CSS", ""],
+        ["CSS2", ""],
+        ["CSS3", ""],
+        ["Events", ""],
+        ["UIEvents", ""],
+        ["MouseEvents", ""],
+        ["HTMLEvents", ""],
+        ["MutationEvents", ""],
+        ["Range", ""],
+        ["Traversal", ""],
+
+        ["Core", "1.0"],
+        ["HTML", "1.0"],
+        ["XML", "1.0"],
+        ["Views", "1.0"],
+        ["StyleSheets", "1.0"],
+        ["CSS", "1.0"],
+        ["CSS2", "1.0"],
+        ["CSS3", "1.0"],
+        ["Events", "1.0"],
+        ["UIEvents", "1.0"],
+        ["MouseEvents", "1.0"],
+        ["HTMLEvents", "1.0"],
+        ["MutationEvents", "1.0"],
+        ["Range", "1.0"],
+        ["Traversal", "1.0"],
+
+        ["Core", "2.0"],
+        ["HTML", "2.0"],
+        ["XML", "2.0"],
+        ["Views", "2.0"],
+        ["StyleSheets", "2.0"],
+        ["CSS", "2.0"],
+        ["CSS2", "2.0"],
+        ["CSS3", "2.0"],
+        ["Events", "2.0"],
+        ["UIEvents", "2.0"],
+        ["MouseEvents", "2.0"],
+        ["HTMLEvents", "2.0"],
+        ["MutationEvents", "2.0"],
+        ["Range", "2.0"],
+        ["Traversal", "2.0"],
+
+        ["Core", "3.0"],
+        ["HTML", "3.0"],
+        ["XML", "3.0"],
+        ["Views", "3.0"],
+        ["StyleSheets", "3.0"],
+        ["CSS", "3.0"],
+        ["CSS2", "3.0"],
+        ["CSS3", "3.0"],
+        ["Events", "3.0"],
+        ["UIEvents", "3.0"],
+        ["MouseEvents", "3.0"],
+        ["HTMLEvents", "3.0"],
+        ["MutationEvents", "3.0"],
+        ["Range", "3.0"],
+        ["Traversal", "3.0"],
+
+        ["Core", "nonsense"],
+        ["HTML", "nonsense"],
+        ["XML", "nonsense"],
+        ["Views", "nonsense"],
+        ["StyleSheets", "nonsense"],
+        ["CSS", "nonsense"],
+        ["CSS2", "nonsense"],
+        ["CSS3", "nonsense"],
+        ["Events", "nonsense"],
+        ["UIEvents", "nonsense"],
+        ["MouseEvents", "nonsense"],
+        ["HTMLEvents", "nonsense"],
+        ["MutationEvents", "nonsense"],
+        ["Range", "nonsense"],
+        ["Traversal", "nonsense"],
+
+        [undefined, ""],
+        [undefined, "1.0"],
+        [undefined, "2.0"],
+        [undefined, "3.0"],
+        [undefined, "nonsense"],
+        [undefined, undefined],
+        [undefined, null],
+
+        [null, ""],
+        [null, "1.0"],
+        [null, "2.0"],
+        [null, "3.0"],
+        [null, "nonsense"],
+        [null, undefined],
+        [null, null],
+
+        ["nonsense", ""],
+        ["nonsense", "1.0"],
+        ["nonsense", "2.0"],
+        ["nonsense", "3.0"],
+        ["nonsense", "nonsense"],
+        ["nonsense", undefined],
+        ["nonsense", null],
+    ];
+
+    for (var i = 0; i < features.length; ++i)
+    {
+        var item = features[i];
+        if (item[1] == "omitted") {
+            var hasFeature = document.implementation.hasFeature(item[0]);
+            var isSupported = document.body.isSupported(item[0]);
+        } else {
+            var hasFeature = document.implementation.hasFeature(item[0], item[1]);
+            var isSupported = document.body.isSupported(item[0], item[1]);
+        }
+
+        var item0String = item[0];
+        if (typeof item0String == "string")
+            item0String = '"' + item0String + '"';
+        var item1String = item[1];
+        if (typeof item1String == "string" && item[1] != "omitted")
+            item1String = '"' + item1String + '"';
+        var message = item0String + ', ' + item1String + ': ' + hasFeature + ', ' + isSupported;
+
+        var div = document.createElement('div');
+        div.innerHTML = message;
+        document.body.appendChild(div);
+    }
+}
+
+</script>
+
+<body onload="test()">
+</body>
diff --git a/LayoutTests/fast/dom/row-inner-text-expected.txt b/LayoutTests/fast/dom/row-inner-text-expected.txt
new file mode 100644 (file)
index 0000000..a04a610
--- /dev/null
@@ -0,0 +1,26 @@
+layer at (0,0) size 800x600
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x579
+      RenderTable {TABLE} at (0,0) size 178x26 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 0x24
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TH} at (1,1) size 34x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderText {TEXT} at (2,2) size 30x18
+                text run at (2,2) width 30: "(1,1)"
+            RenderTableCell {TH} at (36,1) size 34x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderText {TEXT} at (2,2) size 30x18
+                text run at (2,2) width 30: "(1,2)"
+            RenderTableCell {TH} at (71,1) size 34x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+              RenderText {TEXT} at (2,2) size 30x18
+                text run at (2,2) width 30: "(1,3)"
+            RenderTableCell {TH} at (106,1) size 34x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+              RenderText {TEXT} at (2,2) size 30x18
+                text run at (2,2) width 30: "(1,4)"
+            RenderTableCell {TH} at (141,1) size 34x22 [border: (1px inset #808080)] [r=0 c=4 rs=1 cs=1]
+              RenderText {TEXT} at (2,2) size 30x18
+                text run at (2,2) width 30: "(1,5)"
+      RenderBlock {PRE} at (0,39) size 784x15
+        RenderText {TEXT} at (0,0) size 408x15
+          text run at (0,0) width 408: "xxx(1,1)[tab](1,2)[tab](1,3)[tab](1,4)[tab](1,5)xxx"
diff --git a/LayoutTests/fast/dom/row-inner-text.html b/LayoutTests/fast/dom/row-inner-text.html
new file mode 100644 (file)
index 0000000..1c87ee0
--- /dev/null
@@ -0,0 +1,18 @@
+<TABLE ID="tbl" CELLSPACING="1" CELLPADDING="1" BORDER="1">
+       <TR id="r">
+               <TH>(1,1) 
+               </TH>
+               <TH>(1,2) 
+               </TH>
+               <TH>(1,3) 
+               </TH>
+               <TH>(1,4) 
+               </TH>
+               <TH>(1,5) 
+               </TH>
+       </TR>
+</TABLE>
+<script>
+var text = document.getElementById("r").innerText.replace(/\t/g, "[tab]");
+document.write("<pre>xxx" + text + "xxx</pre>");
+</script>
diff --git a/LayoutTests/fast/js/char-at-expected.txt b/LayoutTests/fast/js/char-at-expected.txt
new file mode 100644 (file)
index 0000000..9e41e31
--- /dev/null
@@ -0,0 +1,122 @@
+layer at (0,0) size 800x718
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x718
+  RenderBlock {HTML} at (0,0) size 800x718
+    RenderBody {BODY} at (8,8) size 784x702
+      RenderBlock {DIV} at (0,0) size 784x18
+        RenderText {TEXT} at (0,0) size 130x18
+          text run at (0,0) width 130: "\"\", omitted: \"\", NaN"
+      RenderBlock {DIV} at (0,18) size 784x18
+        RenderText {TEXT} at (0,0) size 146x18
+          text run at (0,0) width 146: "\"\", undefined: \"\", NaN"
+      RenderBlock {DIV} at (0,36) size 784x18
+        RenderText {TEXT} at (0,0) size 91x18
+          text run at (0,0) width 91: "\"\", 0: \"\", NaN"
+      RenderBlock {DIV} at (0,54) size 784x18
+        RenderText {TEXT} at (0,0) size 107x18
+          text run at (0,0) width 107: "\"\", null: \"\", NaN"
+      RenderBlock {DIV} at (0,72) size 784x18
+        RenderText {TEXT} at (0,0) size 112x18
+          text run at (0,0) width 112: "\"\", false: \"\", NaN"
+      RenderBlock {DIV} at (0,90) size 784x18
+        RenderText {TEXT} at (0,0) size 107x18
+          text run at (0,0) width 107: "\"\", true: \"\", NaN"
+      RenderBlock {DIV} at (0,108) size 784x18
+        RenderText {TEXT} at (0,0) size 91x18
+          text run at (0,0) width 91: "\"\", 0: \"\", NaN"
+      RenderBlock {DIV} at (0,126) size 784x18
+        RenderText {TEXT} at (0,0) size 103x18
+          text run at (0,0) width 103: "\"\", 0.1: \"\", NaN"
+      RenderBlock {DIV} at (0,144) size 784x18
+        RenderText {TEXT} at (0,0) size 107x18
+          text run at (0,0) width 107: "\"\", 999: \"\", NaN"
+      RenderBlock {DIV} at (0,162) size 784x18
+        RenderText {TEXT} at (0,0) size 129x18
+          text run at (0,0) width 129: "\"\", Infinity: \"\", NaN"
+      RenderBlock {DIV} at (0,180) size 784x18
+        RenderText {TEXT} at (0,0) size 96x18
+          text run at (0,0) width 96: "\"\", -1: \"\", NaN"
+      RenderBlock {DIV} at (0,198) size 784x18
+        RenderText {TEXT} at (0,0) size 134x18
+          text run at (0,0) width 134: "\"\", -Infinity: \"\", NaN"
+      RenderBlock {DIV} at (0,216) size 784x18
+        RenderText {TEXT} at (0,0) size 114x18
+          text run at (0,0) width 114: "\"\", NaN: \"\", NaN"
+      RenderBlock {DIV} at (0,234) size 784x18
+        RenderText {TEXT} at (0,0) size 139x18
+          text run at (0,0) width 139: "\"x\", omitted: \"x\", 120"
+      RenderBlock {DIV} at (0,252) size 784x18
+        RenderText {TEXT} at (0,0) size 155x18
+          text run at (0,0) width 155: "\"x\", undefined: \"x\", 120"
+      RenderBlock {DIV} at (0,270) size 784x18
+        RenderText {TEXT} at (0,0) size 100x18
+          text run at (0,0) width 100: "\"x\", 0: \"x\", 120"
+      RenderBlock {DIV} at (0,288) size 784x18
+        RenderText {TEXT} at (0,0) size 116x18
+          text run at (0,0) width 116: "\"x\", null: \"x\", 120"
+      RenderBlock {DIV} at (0,306) size 784x18
+        RenderText {TEXT} at (0,0) size 121x18
+          text run at (0,0) width 121: "\"x\", false: \"x\", 120"
+      RenderBlock {DIV} at (0,324) size 784x18
+        RenderText {TEXT} at (0,0) size 115x18
+          text run at (0,0) width 115: "\"x\", true: \"\", NaN"
+      RenderBlock {DIV} at (0,342) size 784x18
+        RenderText {TEXT} at (0,0) size 100x18
+          text run at (0,0) width 100: "\"x\", 0: \"x\", 120"
+      RenderBlock {DIV} at (0,360) size 784x18
+        RenderText {TEXT} at (0,0) size 112x18
+          text run at (0,0) width 112: "\"x\", 0.1: \"x\", 120"
+      RenderBlock {DIV} at (0,378) size 784x18
+        RenderText {TEXT} at (0,0) size 115x18
+          text run at (0,0) width 115: "\"x\", 999: \"\", NaN"
+      RenderBlock {DIV} at (0,396) size 784x18
+        RenderText {TEXT} at (0,0) size 137x18
+          text run at (0,0) width 137: "\"x\", Infinity: \"\", NaN"
+      RenderBlock {DIV} at (0,414) size 784x18
+        RenderText {TEXT} at (0,0) size 104x18
+          text run at (0,0) width 104: "\"x\", -1: \"\", NaN"
+      RenderBlock {DIV} at (0,432) size 784x18
+        RenderText {TEXT} at (0,0) size 142x18
+          text run at (0,0) width 142: "\"x\", -Infinity: \"\", NaN"
+      RenderBlock {DIV} at (0,450) size 784x18
+        RenderText {TEXT} at (0,0) size 122x18
+          text run at (0,0) width 122: "\"x\", NaN: \"\", NaN"
+      RenderBlock {DIV} at (0,468) size 784x18
+        RenderText {TEXT} at (0,0) size 147x18
+          text run at (0,0) width 147: "\"xy\", omitted: \"x\", 120"
+      RenderBlock {DIV} at (0,486) size 784x18
+        RenderText {TEXT} at (0,0) size 163x18
+          text run at (0,0) width 163: "\"xy\", undefined: \"x\", 120"
+      RenderBlock {DIV} at (0,504) size 784x18
+        RenderText {TEXT} at (0,0) size 108x18
+          text run at (0,0) width 108: "\"xy\", 0: \"x\", 120"
+      RenderBlock {DIV} at (0,522) size 784x18
+        RenderText {TEXT} at (0,0) size 124x18
+          text run at (0,0) width 124: "\"xy\", null: \"x\", 120"
+      RenderBlock {DIV} at (0,540) size 784x18
+        RenderText {TEXT} at (0,0) size 129x18
+          text run at (0,0) width 129: "\"xy\", false: \"x\", 120"
+      RenderBlock {DIV} at (0,558) size 784x18
+        RenderText {TEXT} at (0,0) size 124x18
+          text run at (0,0) width 124: "\"xy\", true: \"y\", 121"
+      RenderBlock {DIV} at (0,576) size 784x18
+        RenderText {TEXT} at (0,0) size 108x18
+          text run at (0,0) width 108: "\"xy\", 0: \"x\", 120"
+      RenderBlock {DIV} at (0,594) size 784x18
+        RenderText {TEXT} at (0,0) size 120x18
+          text run at (0,0) width 120: "\"xy\", 0.1: \"x\", 120"
+      RenderBlock {DIV} at (0,612) size 784x18
+        RenderText {TEXT} at (0,0) size 123x18
+          text run at (0,0) width 123: "\"xy\", 999: \"\", NaN"
+      RenderBlock {DIV} at (0,630) size 784x18
+        RenderText {TEXT} at (0,0) size 145x18
+          text run at (0,0) width 145: "\"xy\", Infinity: \"\", NaN"
+      RenderBlock {DIV} at (0,648) size 784x18
+        RenderText {TEXT} at (0,0) size 112x18
+          text run at (0,0) width 112: "\"xy\", -1: \"\", NaN"
+      RenderBlock {DIV} at (0,666) size 784x18
+        RenderText {TEXT} at (0,0) size 150x18
+          text run at (0,0) width 150: "\"xy\", -Infinity: \"\", NaN"
+      RenderBlock {DIV} at (0,684) size 784x18
+        RenderText {TEXT} at (0,0) size 130x18
+          text run at (0,0) width 130: "\"xy\", NaN: \"\", NaN"
diff --git a/LayoutTests/fast/js/char-at.html b/LayoutTests/fast/js/char-at.html
new file mode 100644 (file)
index 0000000..2eb5170
--- /dev/null
@@ -0,0 +1,80 @@
+<script>
+
+function test() {
+
+    var undefined;
+
+    var cases = [
+        ["", "omitted"],
+        ["", undefined],
+        ["", 0],
+        ["", null],
+        ["", false],
+        ["", true],
+        ["", 0.0],
+        ["", 0.1],
+        ["", 999],
+        ["", 1/0],
+        ["", -1],
+        ["", -1/0],
+        ["", 0/0],
+
+        ["x", "omitted"],
+        ["x", undefined],
+        ["x", 0],
+        ["x", null],
+        ["x", false],
+        ["x", true],
+        ["x", 0.0],
+        ["x", 0.1],
+        ["x", 999],
+        ["x", 1/0],
+        ["x", -1],
+        ["x", -1/0],
+        ["x", 0/0],
+
+        ["xy", "omitted"],
+        ["xy", undefined],
+        ["xy", 0],
+        ["xy", null],
+        ["xy", false],
+        ["xy", true],
+        ["xy", 0.0],
+        ["xy", 0.1],
+        ["xy", 999],
+        ["xy", 1/0],
+        ["xy", -1],
+        ["xy", -1/0],
+        ["xy", 0/0],
+    ];
+
+    for (var i = 0; i < cases.length; ++i)
+    {
+        var item = cases[i];
+        if (item[1] == "omitted") {
+            var string = item[0].charAt();
+            var code = item[0].charCodeAt();
+        } else {
+            var string = item[0].charAt(item[1]);
+            var code = item[0].charCodeAt(item[1]);
+        }
+
+        var item0String = item[0];
+        if (typeof item0String == "string")
+            item0String = '"' + item0String + '"';
+        var item1String = item[1];
+        if (typeof item1String == "string" && item[1] != "omitted")
+            item1String = '"' + item1String + '"';
+        var message = item0String + ', ' + item1String + ': "' + string + '", ' + code;
+
+        var div = document.createElement('div');
+        div.innerHTML = message;
+        document.body.appendChild(div);
+    }
+
+}
+
+</script>
+
+<body onload="test()">
+</body>
diff --git a/LayoutTests/fast/js/declaration-in-block-expected.txt b/LayoutTests/fast/js/declaration-in-block-expected.txt
new file mode 100644 (file)
index 0000000..b56230f
--- /dev/null
@@ -0,0 +1,7 @@
+layer at (0,0) size 800x600
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x34
+  RenderBlock {HTML} at (0,0) size 800x34
+    RenderBody {BODY} at (8,8) size 784x18
+      RenderText {TEXT} at (0,0) size 60x18
+        text run at (0,0) width 60: "all is well"
diff --git a/LayoutTests/fast/js/declaration-in-block.html b/LayoutTests/fast/js/declaration-in-block.html
new file mode 100644 (file)
index 0000000..6e96b38
--- /dev/null
@@ -0,0 +1,5 @@
+<script>
+if (0) { var b; }
+var a = b;
+document.write("all is well");
+</script>