Title: [124287] trunk/LayoutTests
Revision
124287
Author
[email protected]
Date
2012-07-31 19:49:16 -0700 (Tue, 31 Jul 2012)

Log Message

i and j keys no longer scroll in results.html
https://bugs.webkit.org/show_bug.cgi?id=92584

Reviewed by Tony Chang.

Scrolling broke with r122880 since the scrolling element is no
longer the body.

Also, fix TestNavigator to allow navigating to tests in the
unexpected passes table. That table doesn't have expand links,
so we change TestNavigator to navigate the tbody's instead, which
also happens to remove a bunch of unnecessary tree-walking.

* fast/harness/resources/results-test.js:
* fast/harness/results-expected.txt:
* fast/harness/results.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (124286 => 124287)


--- trunk/LayoutTests/ChangeLog	2012-08-01 02:43:55 UTC (rev 124286)
+++ trunk/LayoutTests/ChangeLog	2012-08-01 02:49:16 UTC (rev 124287)
@@ -1,3 +1,22 @@
+2012-07-31  Ojan Vafai  <[email protected]>
+
+        i and j keys no longer scroll in results.html
+        https://bugs.webkit.org/show_bug.cgi?id=92584
+
+        Reviewed by Tony Chang.
+
+        Scrolling broke with r122880 since the scrolling element is no
+        longer the body.
+
+        Also, fix TestNavigator to allow navigating to tests in the
+        unexpected passes table. That table doesn't have expand links,
+        so we change TestNavigator to navigate the tbody's instead, which
+        also happens to remove a bunch of unnecessary tree-walking.
+
+        * fast/harness/resources/results-test.js:
+        * fast/harness/results-expected.txt:
+        * fast/harness/results.html:
+
 2012-07-31  Ami Fischman  <[email protected]>
 
         [Chromium] Layout Test http/tests/media/media-source/webm/video-media-source-*.html is flaky

Modified: trunk/LayoutTests/fast/harness/resources/results-test.js (124286 => 124287)


--- trunk/LayoutTests/fast/harness/resources/results-test.js	2012-08-01 02:43:55 UTC (rev 124286)
+++ trunk/LayoutTests/fast/harness/resources/results-test.js	2012-08-01 02:49:16 UTC (rev 124287)
@@ -552,7 +552,7 @@
     runTest(results, function() {
         if (window.eventSender) {
             eventSender.keyDown('k'); // previous
-            var testRows = document.querySelectorAll('#results-table tbody tr');
+            var testRows = document.querySelectorAll('#results-table tbody');
             assertTrue(!testRows[0].classList.contains('current'));
             assertTrue(!testRows[1].classList.contains('current'));
             assertTrue(testRows[2].classList.contains('current'));
@@ -562,13 +562,21 @@
     runTest(results, function() {
         if (window.eventSender) {
             eventSender.keyDown('j'); // next
-            var testRows = document.querySelectorAll('#results-table tbody tr');
+            var testRows = document.querySelectorAll('#results-table tbody');
             assertTrue(testRows[0].classList.contains('current'));
             assertTrue(!testRows[1].classList.contains('current'));
             assertTrue(!testRows[2].classList.contains('current'));
         }
     });
 
+    results = mockResults();
+    var subtree = results.tests['foo'] = {}
+    subtree['bar.html'] = mockExpectation('TEXT', 'FAIL');
+    subtree['bar1.html'] = mockExpectation('TEXT', 'FAIL');
+    subtree['bar2.html'] = mockExpectation('TEXT', 'FAIL');
+    subtree['bar3.html'] = mockExpectation('TEXT', 'PASS');
+    subtree['bar4.html'] = mockExpectation('IMAGE', 'PASS');
+
     runTest(results, function() {
         assertTrue(document.getElementById('results-table'));
         assertTrue(visibleExpandLinks().length == 3);
@@ -577,7 +585,7 @@
             eventSender.keyDown('i', ["metaKey"]);
             eventSender.keyDown('i', ["shiftKey"]);
             eventSender.keyDown('i', ["ctrlKey"]);
-            var testRows = document.querySelectorAll('#results-table tbody tr');
+            var testRows = document.querySelectorAll('tbody');
             assertTrue(!testRows[0].classList.contains('current'));
             assertTrue(!testRows[1].classList.contains('current'));
             assertTrue(!testRows[2].classList.contains('current'));
@@ -621,8 +629,14 @@
             eventSender.keyDown('l'); // last
             assertTrue(!testRows[0].classList.contains('current'));
             assertTrue(!testRows[1].classList.contains('current'));
-            assertTrue(testRows[2].classList.contains('current'));
+            assertTrue(testRows[4].classList.contains('current'));
 
+            var flaggedTestsTextbox = document.getElementById('flagged-tests');
+
+            eventSender.keyDown('f'); // flag
+            assertTrue(flaggedTestsTextbox.innerText == 'foo/bar4.html');
+            eventSender.keyDown('f'); // unflag
+
             eventSender.keyDown('i'); // first
 
             eventSender.keyDown('e', ["metaKey"]);
@@ -645,7 +659,6 @@
             eventSender.keyDown('f', ["metaKey"]);
             eventSender.keyDown('f', ["shiftKey"]);
             eventSender.keyDown('f', ["ctrlKey"]);
-            var flaggedTestsTextbox = document.getElementById('flagged-tests');
             assertTrue(flaggedTestsTextbox.innerText == '');
 
             eventSender.keyDown('f'); // flag

Modified: trunk/LayoutTests/fast/harness/results-expected.txt (124286 => 124287)


--- trunk/LayoutTests/fast/harness/results-expected.txt	2012-08-01 02:43:55 UTC (rev 124286)
+++ trunk/LayoutTests/fast/harness/results-expected.txt	2012-08-01 02:49:16 UTC (rev 124287)
@@ -205,6 +205,7 @@
 TEST-36: PASS
 TEST-36: PASS
 TEST-36: PASS
+TEST-36: PASS
 TEST-37: PASS
 TEST-37: PASS
 TEST-37: PASS

Modified: trunk/LayoutTests/fast/harness/results.html (124286 => 124287)


--- trunk/LayoutTests/fast/harness/results.html	2012-08-01 02:43:55 UTC (rev 124286)
+++ trunk/LayoutTests/fast/harness/results.html	2012-08-01 02:49:16 UTC (rev 124287)
@@ -404,8 +404,9 @@
     setTimeout(function() { func.apply(null, args); }, 100);
 }
 
-function visibleTests(container)
+function visibleTests(opt_container)
 {
+    var container = opt_container || document;
     if (onlyShowUnexpectedFailures())
         return container.querySelectorAll('tbody:not(.expected)');
     else
@@ -449,7 +450,7 @@
         basePath += '/trunk/LayoutTests/';
     } else
         basePath = globalState().results.layout_tests_dir + '/';
-    return '<a class=test-link href="" + basePath + test + '">' + test + '</a>';
+    return '<a class=test-link href="" + basePath + test + '">' + test + '</a><span class=flag _onclick_="unflag(this)"> \u2691</span>';
 }
 
 function unflag(flag)
@@ -460,8 +461,7 @@
 
 function testLinkWithExpandButton(test)
 {
-    return '<span class=expand-button _onclick_="toggleExpectations(this)"><span class=expand-button-text>+</span></span>' + testLink(test) +
-        '<span class=flag _onclick_="unflag(this)"> \u2691</span>';
+    return '<span class=expand-button _onclick_="toggleExpectations(this)"><span class=expand-button-text>+</span></span>' + testLink(test);
 }
 
 function resultLink(testPrefix, suffix, contents)
@@ -1003,7 +1003,7 @@
 
 TestNavigator._scrollToLastTest = function()
 {
-    var links = visibleExpandLinks();
+    var links = visibleTests();
     if (TestNavigator._setCurrentTest(links.length - 1))
         TestNavigator._scrollToCurrentTest();
 }
@@ -1026,28 +1026,33 @@
 
 TestNavigator._currentTestLink = function()
 {
-    var links = visibleExpandLinks();
+    var links = visibleTests();
     return links[TestNavigator.currentTestIndex];
 }
 
+TestNavigator._currentTestExpandLink = function()
+{
+    return TestNavigator._currentTestLink().querySelector('.expand-button-text');
+}
+
 TestNavigator._expandCurrentTest = function()
 {
-    expandExpectations(TestNavigator._currentTestLink());
+    expandExpectations(TestNavigator._currentTestExpandLink());
 }
 
 TestNavigator._collapseCurrentTest = function()
 {
-    collapseExpectations(TestNavigator._currentTestLink());
+    collapseExpectations(TestNavigator._currentTestExpandLink());
 }
 
 TestNavigator._toggleCurrentTest = function()
 {
-    toggleExpectations(TestNavigator._currentTestLink());
+    toggleExpectations(TestNavigator._currentTestExpandLink());
 }
 
 TestNavigator._toggleCurrentTestFlagged = function()
 {
-    var testLink = parentOfType(TestNavigator._currentTestLink(), 'tbody');
+    var testLink = TestNavigator._currentTestLink();
     TestNavigator.flagTest(testLink, !testLink.classList.contains('flagged'));
 }
 
@@ -1088,18 +1093,18 @@
 
 TestNavigator._setCurrentTest = function(testIndex)
 {
-    var links = visibleExpandLinks();
+    var links = visibleTests();
     if (testIndex < 0 || testIndex >= links.length)
         return false;
 
-    var currExpandLink = links[TestNavigator.currentTestIndex];
-    if (currExpandLink)
-        parentOfType(currExpandLink, 'tr').classList.remove('current');
+    var currentTest = links[TestNavigator.currentTestIndex];
+    if (currentTest)
+        currentTest.classList.remove('current');
 
     TestNavigator.currentTestIndex = testIndex;
 
-    currExpandLink = links[TestNavigator.currentTestIndex];
-    parentOfType(currExpandLink, 'tr').classList.add('current');
+    currentTest = links[TestNavigator.currentTestIndex];
+    currentTest.classList.add('current');
 
     return true;
 }
@@ -1111,23 +1116,24 @@
         return;
 
     var rowRect = targetLink.getBoundingClientRect();
+    var container = document.querySelector('.content-container');
     // rowRect is in client coords (i.e. relative to viewport), so we just want to add its top to the current scroll position.
-    window.scrollTo(window.scrollX, window.scrollY + rowRect.top - 20);
+    container.scrollTop += rowRect.top - 20;
 }
 
 TestNavigator._onlyShowUnexpectedFailuresChanged_ = function()
 {
-    var currentTestLink = document.querySelector('.current .expand-button-text');
-    if (!currentTestLink)
+    var currentTest = document.querySelector('.current');
+    if (!currentTest)
         return;
 
     // If our currentTest became hidden, reset the currentTestIndex.
-    if (onlyShowUnexpectedFailures() && parentOfType(currentTestLink, 'tbody').classList.contains('expected'))
+    if (onlyShowUnexpectedFailures() && currentTest.classList.contains('expected'))
         TestNavigator._scrollToFirstTest();
     else {
         // Recompute TestNavigator.currentTestIndex
-        var links = visibleExpandLinks();
-        TestNavigator.currentTestIndex = links.indexOf(currentTestLink);
+        var links = visibleTests();
+        TestNavigator.currentTestIndex = links.indexOf(currentTest);
         window.console.log('TestNavigator.currentTestIndex is ', TestNavigator.currentTestIndex)
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to