⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 124287 in webkit


Ignore:
Timestamp:
Jul 31, 2012, 7:49:16 PM (14 years ago)
Author:
ojan@chromium.org
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:
Location:
trunk/LayoutTests
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r124286 r124287  
     12012-07-31  Ojan Vafai  <ojan@chromium.org>
     2
     3        i and j keys no longer scroll in results.html
     4        https://bugs.webkit.org/show_bug.cgi?id=92584
     5
     6        Reviewed by Tony Chang.
     7
     8        Scrolling broke with r122880 since the scrolling element is no
     9        longer the body.
     10
     11        Also, fix TestNavigator to allow navigating to tests in the
     12        unexpected passes table. That table doesn't have expand links,
     13        so we change TestNavigator to navigate the tbody's instead, which
     14        also happens to remove a bunch of unnecessary tree-walking.
     15
     16        * fast/harness/resources/results-test.js:
     17        * fast/harness/results-expected.txt:
     18        * fast/harness/results.html:
     19
    1202012-07-31  Ami Fischman  <fischman@chromium.org>
    221
  • trunk/LayoutTests/fast/harness/resources/results-test.js

    r122880 r124287  
    553553        if (window.eventSender) {
    554554            eventSender.keyDown('k'); // previous
    555             var testRows = document.querySelectorAll('#results-table tbody tr');
     555            var testRows = document.querySelectorAll('#results-table tbody');
    556556            assertTrue(!testRows[0].classList.contains('current'));
    557557            assertTrue(!testRows[1].classList.contains('current'));
     
    563563        if (window.eventSender) {
    564564            eventSender.keyDown('j'); // next
    565             var testRows = document.querySelectorAll('#results-table tbody tr');
     565            var testRows = document.querySelectorAll('#results-table tbody');
    566566            assertTrue(testRows[0].classList.contains('current'));
    567567            assertTrue(!testRows[1].classList.contains('current'));
     
    569569        }
    570570    });
     571
     572    results = mockResults();
     573    var subtree = results.tests['foo'] = {}
     574    subtree['bar.html'] = mockExpectation('TEXT', 'FAIL');
     575    subtree['bar1.html'] = mockExpectation('TEXT', 'FAIL');
     576    subtree['bar2.html'] = mockExpectation('TEXT', 'FAIL');
     577    subtree['bar3.html'] = mockExpectation('TEXT', 'PASS');
     578    subtree['bar4.html'] = mockExpectation('IMAGE', 'PASS');
    571579
    572580    runTest(results, function() {
     
    578586            eventSender.keyDown('i', ["shiftKey"]);
    579587            eventSender.keyDown('i', ["ctrlKey"]);
    580             var testRows = document.querySelectorAll('#results-table tbody tr');
     588            var testRows = document.querySelectorAll('tbody');
    581589            assertTrue(!testRows[0].classList.contains('current'));
    582590            assertTrue(!testRows[1].classList.contains('current'));
     
    622630            assertTrue(!testRows[0].classList.contains('current'));
    623631            assertTrue(!testRows[1].classList.contains('current'));
    624             assertTrue(testRows[2].classList.contains('current'));
     632            assertTrue(testRows[4].classList.contains('current'));
     633
     634            var flaggedTestsTextbox = document.getElementById('flagged-tests');
     635
     636            eventSender.keyDown('f'); // flag
     637            assertTrue(flaggedTestsTextbox.innerText == 'foo/bar4.html');
     638            eventSender.keyDown('f'); // unflag
    625639
    626640            eventSender.keyDown('i'); // first
     
    646660            eventSender.keyDown('f', ["shiftKey"]);
    647661            eventSender.keyDown('f', ["ctrlKey"]);
    648             var flaggedTestsTextbox = document.getElementById('flagged-tests');
    649662            assertTrue(flaggedTestsTextbox.innerText == '');
    650663
  • trunk/LayoutTests/fast/harness/results-expected.txt

    r122880 r124287  
    206206TEST-36: PASS
    207207TEST-36: PASS
     208TEST-36: PASS
    208209TEST-37: PASS
    209210TEST-37: PASS
  • trunk/LayoutTests/fast/harness/results.html

    r122880 r124287  
    405405}
    406406
    407 function visibleTests(container)
    408 {
     407function visibleTests(opt_container)
     408{
     409    var container = opt_container || document;
    409410    if (onlyShowUnexpectedFailures())
    410411        return container.querySelectorAll('tbody:not(.expected)');
     
    450451    } else
    451452        basePath = globalState().results.layout_tests_dir + '/';
    452     return '<a class=test-link href="' + basePath + test + '">' + test + '</a>';
     453    return '<a class=test-link href="' + basePath + test + '">' + test + '</a><span class=flag onclick="unflag(this)"> \u2691</span>';
    453454}
    454455
     
    461462function testLinkWithExpandButton(test)
    462463{
    463     return '<span class=expand-button onclick="toggleExpectations(this)"><span class=expand-button-text>+</span></span>' + testLink(test) +
    464         '<span class=flag onclick="unflag(this)"> \u2691</span>';
     464    return '<span class=expand-button onclick="toggleExpectations(this)"><span class=expand-button-text>+</span></span>' + testLink(test);
    465465}
    466466
     
    10041004TestNavigator._scrollToLastTest = function()
    10051005{
    1006     var links = visibleExpandLinks();
     1006    var links = visibleTests();
    10071007    if (TestNavigator._setCurrentTest(links.length - 1))
    10081008        TestNavigator._scrollToCurrentTest();
     
    10271027TestNavigator._currentTestLink = function()
    10281028{
    1029     var links = visibleExpandLinks();
     1029    var links = visibleTests();
    10301030    return links[TestNavigator.currentTestIndex];
    10311031}
    10321032
     1033TestNavigator._currentTestExpandLink = function()
     1034{
     1035    return TestNavigator._currentTestLink().querySelector('.expand-button-text');
     1036}
     1037
    10331038TestNavigator._expandCurrentTest = function()
    10341039{
    1035     expandExpectations(TestNavigator._currentTestLink());
     1040    expandExpectations(TestNavigator._currentTestExpandLink());
    10361041}
    10371042
    10381043TestNavigator._collapseCurrentTest = function()
    10391044{
    1040     collapseExpectations(TestNavigator._currentTestLink());
     1045    collapseExpectations(TestNavigator._currentTestExpandLink());
    10411046}
    10421047
    10431048TestNavigator._toggleCurrentTest = function()
    10441049{
    1045     toggleExpectations(TestNavigator._currentTestLink());
     1050    toggleExpectations(TestNavigator._currentTestExpandLink());
    10461051}
    10471052
    10481053TestNavigator._toggleCurrentTestFlagged = function()
    10491054{
    1050     var testLink = parentOfType(TestNavigator._currentTestLink(), 'tbody');
     1055    var testLink = TestNavigator._currentTestLink();
    10511056    TestNavigator.flagTest(testLink, !testLink.classList.contains('flagged'));
    10521057}
     
    10891094TestNavigator._setCurrentTest = function(testIndex)
    10901095{
    1091     var links = visibleExpandLinks();
     1096    var links = visibleTests();
    10921097    if (testIndex < 0 || testIndex >= links.length)
    10931098        return false;
    10941099
    1095     var currExpandLink = links[TestNavigator.currentTestIndex];
    1096     if (currExpandLink)
    1097         parentOfType(currExpandLink, 'tr').classList.remove('current');
     1100    var currentTest = links[TestNavigator.currentTestIndex];
     1101    if (currentTest)
     1102        currentTest.classList.remove('current');
    10981103
    10991104    TestNavigator.currentTestIndex = testIndex;
    11001105
    1101     currExpandLink = links[TestNavigator.currentTestIndex];
    1102     parentOfType(currExpandLink, 'tr').classList.add('current');
     1106    currentTest = links[TestNavigator.currentTestIndex];
     1107    currentTest.classList.add('current');
    11031108
    11041109    return true;
     
    11121117
    11131118    var rowRect = targetLink.getBoundingClientRect();
     1119    var container = document.querySelector('.content-container');
    11141120    // rowRect is in client coords (i.e. relative to viewport), so we just want to add its top to the current scroll position.
    1115     window.scrollTo(window.scrollX, window.scrollY + rowRect.top - 20);
     1121    container.scrollTop += rowRect.top - 20;
    11161122}
    11171123
    11181124TestNavigator.onlyShowUnexpectedFailuresChanged = function()
    11191125{
    1120     var currentTestLink = document.querySelector('.current .expand-button-text');
    1121     if (!currentTestLink)
     1126    var currentTest = document.querySelector('.current');
     1127    if (!currentTest)
    11221128        return;
    11231129
    11241130    // If our currentTest became hidden, reset the currentTestIndex.
    1125     if (onlyShowUnexpectedFailures() && parentOfType(currentTestLink, 'tbody').classList.contains('expected'))
     1131    if (onlyShowUnexpectedFailures() && currentTest.classList.contains('expected'))
    11261132        TestNavigator._scrollToFirstTest();
    11271133    else {
    11281134        // Recompute TestNavigator.currentTestIndex
    1129         var links = visibleExpandLinks();
    1130         TestNavigator.currentTestIndex = links.indexOf(currentTestLink);
     1135        var links = visibleTests();
     1136        TestNavigator.currentTestIndex = links.indexOf(currentTest);
    11311137        window.console.log('TestNavigator.currentTestIndex is ', TestNavigator.currentTestIndex)
    11321138    }
Note: See TracChangeset for help on using the changeset viewer.