Commit fc91cffe authored by Esmael El-Moslimany's avatar Esmael El-Moslimany Committed by Commit Bot

History WebUI: fixing history focus test for polymer 2

Bug: 875461
Change-Id: I4198baa1461241de0f869cb63fb688a74ba5e337
Reviewed-on: https://chromium-review.googlesource.com/1194338Reviewed-by: default avatarScott Chen <scottchen@chromium.org>
Commit-Queue: Esmael El-Moslimany <aee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587739}
parent 21cad564
......@@ -119,56 +119,69 @@ TEST_F('MaterialHistoryFocusTest', 'All', function() {
element = app.$.history;
});
test('list focus and keyboard nav', function(done) {
test('list focus and keyboard nav', function() {
app.historyResult(createHistoryInfo(), TEST_HISTORY_RESULTS);
PolymerTest.flushTasks().then(function() {
const items = polymerSelectAll(element, 'history-item');
let focused = items[2].$.checkbox;
focused.focus();
// Wait for next render to ensure that focus handlers have been
// registered (see HistoryItemElement.attached).
Polymer.RenderStatus.afterNextRender(this, function() {
MockInteractions.pressAndReleaseKeyOn(focused, 39, [], 'ArrowRight');
focused = items[2].$.title;
assertEquals(focused, element.lastFocused_);
assertTrue(items[2].row_.isActive());
assertFalse(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 40, [], 'ArrowDown');
focused = items[3].$.title;
assertEquals(focused, element.lastFocused_);
assertFalse(items[2].row_.isActive());
assertTrue(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 39, [], 'ArrowRight');
focused = items[3].$['menu-button'];
assertEquals(focused, element.lastFocused_);
assertFalse(items[2].row_.isActive());
assertTrue(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 38, [], 'ArrowUp');
focused = items[2].$['menu-button'];
assertEquals(focused, element.lastFocused_);
assertTrue(items[2].row_.isActive());
assertFalse(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 37, [], 'ArrowLeft');
focused = items[2].$$('#bookmark-star');
assertEquals(focused, element.lastFocused_);
assertTrue(items[2].row_.isActive());
assertFalse(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 40, [], 'ArrowDown');
focused = items[3].$.title;
assertEquals(focused, element.lastFocused_);
assertFalse(items[2].row_.isActive());
assertTrue(items[3].row_.isActive());
done();
});
});
let focused;
let items;
return PolymerTest.flushTasks()
.then(function() {
Polymer.dom.flush();
items = polymerSelectAll(element, 'history-item');
focused = items[2].$.checkbox;
focused.focus();
// Wait for next render to ensure that focus handlers have been
// registered (see HistoryItemElement.attached).
return new Promise(resolve => {
Polymer.RenderStatus.afterNextRender(this, resolve);
});
})
.then(() => {
MockInteractions.pressAndReleaseKeyOn(
focused, 39, [], 'ArrowRight');
Polymer.dom.flush();
focused = items[2].$.title;
assertEquals(focused, element.lastFocused_);
assertTrue(items[2].row_.isActive());
assertFalse(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 40, [], 'ArrowDown');
Polymer.dom.flush();
focused = items[3].$.title;
assertEquals(focused, element.lastFocused_);
assertFalse(items[2].row_.isActive());
assertTrue(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(
focused, 39, [], 'ArrowRight');
Polymer.dom.flush();
focused = items[3].$['menu-button'];
assertEquals(focused, element.lastFocused_);
assertFalse(items[2].row_.isActive());
assertTrue(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 38, [], 'ArrowUp');
Polymer.dom.flush();
focused = items[2].$['menu-button'];
assertEquals(focused, element.lastFocused_);
assertTrue(items[2].row_.isActive());
assertFalse(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 37, [], 'ArrowLeft');
Polymer.dom.flush();
focused = items[2].$$('#bookmark-star');
assertEquals(focused, element.lastFocused_);
assertTrue(items[2].row_.isActive());
assertFalse(items[3].row_.isActive());
MockInteractions.pressAndReleaseKeyOn(focused, 40, [], 'ArrowDown');
Polymer.dom.flush();
focused = items[3].$.title;
assertEquals(focused, element.lastFocused_);
assertFalse(items[2].row_.isActive());
assertTrue(items[3].row_.isActive());
});
});
});
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment