Chromium Code Reviews| Index: chrome/test/data/webui/history_browsertest.js |
| diff --git a/chrome/test/data/webui/history_browsertest.js b/chrome/test/data/webui/history_browsertest.js |
| index bcaf7810f773256a65db22ff76f6c71b37b510b0..aa5e9977e1e845b62374a59eec85a3d3a11b080a 100644 |
| --- a/chrome/test/data/webui/history_browsertest.js |
| +++ b/chrome/test/data/webui/history_browsertest.js |
| @@ -909,6 +909,59 @@ TEST_F('HistoryWebUIRealBackendTest', 'showConfirmDialogAndRemove', function() { |
| assertFalse($('alertOverlay').classList.contains('showing')); |
| }); |
| +TEST_F('HistoryWebUIRealBackendTest', 'menuButtonActivatesOneRow', function() { |
| + var entries = document.querySelectorAll('.entry'); |
| + assertEquals(3, entries.length); |
| + assertTrue(entries[0].classList.contains('active')); |
| + assertTrue($('action-menu').hidden); |
| + |
| + // Show the menu via mousedown on the menu button. |
| + var menuButton = entries[2].querySelector('.menu-button'); |
| + menuButton.dispatchEvent(new MouseEvent('mousedown')); |
| + expectFalse($('action-menu').hidden); |
| + |
| + // Check that the 'active' item hasn't changed. |
| + expectTrue(entries[0].classList.contains('active')); |
| + expectFalse(entries[2].classList.contains('active')); |
| + |
| + testDone(); |
| +}); |
| + |
| +TEST_F('HistoryWebUIRealBackendTest', 'shiftClickActivatesOneRow', function() { |
| + var entries = document.querySelectorAll('.entry'); |
| + assertEquals(3, entries.length); |
| + assertTrue(entries[0].classList.contains('active')); |
| + |
| + entries[0].visit.checkBox.focus(); |
| + assertEquals(entries[0].visit.checkBox, document.activeElement); |
| + |
| + entries[0].visit.checkBox.click(); |
| + assertTrue(entries[0].visit.checkBox.checked); |
| + |
| + var entryBox = entries[2].querySelector('.entry-box'); |
| + entryBox.dispatchEvent(new MouseEvent('click', {shiftKey: true})); |
| + assertTrue(entries[1].visit.checkBox.checked); |
| + |
| + // Focus shouldn't have changed, but the checkbox should toggle. |
| + expectEquals(entries[0].visit.checkBox, document.activeElement); |
| + |
| + expectTrue(entries[0].classList.contains('active')); |
| + expectFalse(entries[2].classList.contains('active')); |
| + |
| + var shiftDown = new MouseEvent('mousedown', {shiftKey: true, bubbles: true}); |
| + entries[2].visit.checkBox.dispatchEvent(shiftDown); |
| + expectEquals(entries[2].visit.checkBox, document.activeElement); |
| + |
| + // 'focusin' events aren't dispatched while tests are run in batch (e.g. |
| + // --test-launcher-jobs=2). Simulate this. TODO(dbeam): fix instead. |
|
Dan Beam
2014/11/04 05:07:10
if you have anybody that might know why this is, l
arv (Not doing code reviews)
2014/11/04 15:01:03
No idea.
|
| + cr.dispatchSimpleEvent(document.activeElement, 'focusin', true, true); |
| + |
| + expectFalse(entries[0].classList.contains('active')); |
| + expectTrue(entries[2].classList.contains('active')); |
| + |
| + testDone(); |
| +}); |
| + |
| /** |
| * Fixture for History WebUI testing when deletions are prohibited. |
| * @extends {HistoryWebUIRealBackendTest} |