Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6689)

Unified Diff: chrome/test/data/webui/md_bookmarks/folder_node_test.js

Issue 2820153003: [MD Bookmarks] Add keyboard navigation to sidebar. (Closed)
Patch Set: address comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/webui/md_bookmarks/folder_node_test.js
diff --git a/chrome/test/data/webui/md_bookmarks/folder_node_test.js b/chrome/test/data/webui/md_bookmarks/folder_node_test.js
index 49e080bc14ba7894c7988030723da8d12c190ed0..57f1e890e56422f00bbab519f0faf3865acd0393 100644
--- a/chrome/test/data/webui/md_bookmarks/folder_node_test.js
+++ b/chrome/test/data/webui/md_bookmarks/folder_node_test.js
@@ -6,6 +6,10 @@ suite('<bookmarks-folder-node>', function() {
var rootNode;
var store;
+ function getFolderNode(id) {
+ return findFolderNode(rootNode, id);
+ }
+
setup(function() {
store = new bookmarks.TestStore({
nodes: testTree(
@@ -21,6 +25,7 @@ suite('<bookmarks-folder-node>', function() {
createItem('5'),
]),
createFolder('7', [])),
+ selectedFolder: '1',
});
bookmarks.Store.instance_ = store;
@@ -75,9 +80,6 @@ suite('<bookmarks-folder-node>', function() {
test('doesn\'t highlight selected folder while searching', function() {
var rootFolders = rootNode.root.querySelectorAll('bookmarks-folder-node');
- store.data.selectedFolder = '1';
- store.notifyObservers();
-
assertEquals('1', rootFolders['0'].itemId);
assertTrue(rootFolders['0'].isSelectedFolder_);
@@ -90,4 +92,43 @@ suite('<bookmarks-folder-node>', function() {
assertFalse(rootFolders['0'].isSelectedFolder_);
});
+
+ test('last visible descendant', function() {
+ assertEquals('7', rootNode.getLastVisibleDescendant_().itemId);
+ assertEquals('4', getFolderNode('1').getLastVisibleDescendant_().itemId);
+
+ store.data.closedFolders = new Set('2');
+ store.notifyObservers();
+
+ assertEquals('2', getFolderNode('1').getLastVisibleDescendant_().itemId);
+ });
+
+ test('get node parent', function() {
+ assertEquals(getFolderNode('0'), getFolderNode('1').getParentFolderNode_());
+ assertEquals(getFolderNode('2'), getFolderNode('4').getParentFolderNode_());
+ assertEquals(null, getFolderNode('0').getParentFolderNode_());
+ });
+
+ test('next/previous folder nodes', function() {
+ function getNextChild(parentId, targetId, reverse) {
+ return getFolderNode(parentId).getNextChild_(
+ reverse, getFolderNode(targetId));
+ }
+
+ // Forwards.
+ assertEquals('4', getNextChild('2', '3', false).itemId);
+ assertEquals(null, getNextChild('2', '4', false));
+
+ // Backwards.
+ assertEquals(null, getNextChild('1', '2', true));
+ assertEquals('3', getNextChild('2', '4', true).itemId);
+ assertEquals('4', getNextChild('0', '7', true).itemId);
+
+ // Skips closed folders.
+ store.data.closedFolders = new Set('2');
+ store.notifyObservers();
+
+ assertEquals(null, getNextChild('1', '2', false));
+ assertEquals('2', getNextChild('0', '7', true).itemId);
+ });
});

Powered by Google App Engine
This is Rietveld 408576698