Tests:
authoradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 May 2005 22:03:49 +0000 (22:03 +0000)
committeradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 May 2005 22:03:49 +0000 (22:03 +0000)
        Changes by Darin. Reviewed by myself.

        Added new layoutTestController method to dump the document as text.

        * DumpRenderTree/main.m:
        (-[LayoutTestController dumpAsText]): new method on layoutTestController to dump the innerText
        of the body instead of dumping the render tree; better for tests that are not really about layout
        (+[LayoutTestController isSelectorExcludedFromWebScript:]): added new dumpAsText selector
        (dump): changed name of showRenderTree since it now sometimes dumps text instead
        (-[WaitUntilDoneDelegate webView:locationChangeDone:forDataSource:]): calls new dump function
        (-[LayoutTestController notifyDone]): calls new dump function
        (dumpRenderTree): initializes global variables dumpAsText and waitLayoutTest

WebCore:

        Changes by Darin. Reviewed by myself.

        Changed the Render Tree debug code to write out an indication that the affinity is upstream
        when writing out caret position. Updated the one layout test with output affected by the change.
        Also updated one test to use the new dumpAsText method in dumpRenderTree.

        * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
        * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
        * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
        * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)

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

LayoutTests/editing/style/create-block-for-style-004-expected.txt
LayoutTests/fast/js/char-at-expected.txt
LayoutTests/fast/js/char-at.html
WebCore/ChangeLog-2005-08-23
WebCore/kwq/KWQRenderTreeDebug.cpp

index 5ce394b4f7b3d977e3d56ca4eaeb640636712688..243186edbca3e22802ee96ca0b78d1e70c6f1601 100644 (file)
@@ -21,4 +21,4 @@ layer at (0,0) size 800x600
             RenderText {TEXT} at (361,14) size 34x28
               text run at (361,14) width 34: "baz"
           RenderBlock (anonymous) at (14,98) size 756x0
-caret: position 3 of child 0 {TEXT} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of child 1 {BODY} of child 0 {HTML} of document
+caret: position 3 of child 0 {TEXT} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of child 1 {BODY} of child 0 {HTML} of document (upstream affinity)
index 9e41e31587e179da7117065bed97530724db4ace..7332abc191b569200f499df0d31999297ead86ba 100644 (file)
-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"
+"", omitted: "", NaN
+"", undefined: "", NaN
+"", 0: "", NaN
+"", null: "", NaN
+"", false: "", NaN
+"", true: "", NaN
+"", 0: "", NaN
+"", 0.1: "", NaN
+"", 999: "", NaN
+"", Infinity: "", NaN
+"", -1: "", NaN
+"", -Infinity: "", NaN
+"", NaN: "", NaN
+"x", omitted: "x", 120
+"x", undefined: "x", 120
+"x", 0: "x", 120
+"x", null: "x", 120
+"x", false: "x", 120
+"x", true: "", NaN
+"x", 0: "x", 120
+"x", 0.1: "x", 120
+"x", 999: "", NaN
+"x", Infinity: "", NaN
+"x", -1: "", NaN
+"x", -Infinity: "", NaN
+"x", NaN: "", NaN
+"xy", omitted: "x", 120
+"xy", undefined: "x", 120
+"xy", 0: "x", 120
+"xy", null: "x", 120
+"xy", false: "x", 120
+"xy", true: "y", 121
+"xy", 0: "x", 120
+"xy", 0.1: "x", 120
+"xy", 999: "", NaN
+"xy", Infinity: "", NaN
+"xy", -1: "", NaN
+"xy", -Infinity: "", NaN
+"xy", NaN: "", NaN
index 2eb5170202585d7f98cc7a59fa3d65a920b7ad2a..c02fb781f325bc226945a54ba1b004b470d32d9f 100644 (file)
@@ -74,6 +74,10 @@ function test() {
 
 }
 
+if (window.layoutTestController) {
+    layoutTestController.dumpAsText();
+}
+
 </script>
 
 <body onload="test()">
index a2a0528bcebdf52b7a655180ba4d364a03197039..5324b8f1df2604a2f88419889ec40d77b05d177f 100644 (file)
@@ -1,3 +1,16 @@
+2005-05-16  Adele Peterson  <adele@apple.com>
+
+        Changes by Darin. Reviewed by myself.
+
+        Changed the Render Tree debug code to write out an indication that the affinity is upstream
+        when writing out caret position. Updated the one layout test with output affected by the change.
+        Also updated one test to use the new dumpAsText method in dumpRenderTree.
+
+        * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
+        * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
+        * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
+        * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)
+
 2005-05-16  Darin Adler  <darin@apple.com>
 
         Reviewed by Adele.
index dbb69e0a2e0c724b69689ccb143098216799316a..b94a145ee9f234ba026b123c9964d99a24b6d020 100644 (file)
@@ -57,6 +57,7 @@ using khtml::RenderCanvas;
 using khtml::RenderBR;
 using khtml::Selection;
 using khtml::transparentColor;
+using khtml::UPSTREAM;
 
 static void writeLayers(QTextStream &ts, const RenderLayer* rootLayer, RenderLayer* l,
                         const QRect& paintDirtyRect, int indent=0);
@@ -389,7 +390,10 @@ static void writeSelection(QTextStream &ts, const RenderObject *o)
 
     Selection selection = part->selection();
     if (selection.isCaret()) {
-        ts << "caret: position " << selection.start().offset() << " of " << nodePosition(selection.start().node()) << "\n"; 
+        ts << "caret: position " << selection.start().offset() << " of " << nodePosition(selection.start().node());
+        if (selection.startAffinity() == UPSTREAM)
+            ts << " (upstream affinity)";
+        ts << "\n"; 
     } else if (selection.isRange()) {
         ts << "selection start: position " << selection.start().offset() << " of " << nodePosition(selection.start().node()) << "\n"
            << "selection end:   position " << selection.end().offset() << " of " << nodePosition(selection.end().node()) << "\n";