OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 suite('drag and drop', function() { | 5 suite('drag and drop', function() { |
6 var app; | 6 var app; |
7 var list; | 7 var list; |
8 var sidebar; | 8 var rootFolderNode; |
9 var store; | 9 var store; |
10 var dndManager; | 10 var dndManager; |
11 var draggedIds; | 11 var draggedIds; |
12 | 12 |
13 var DRAG_STYLE = { | 13 var DRAG_STYLE = { |
14 NONE: 0, | 14 NONE: 0, |
15 ON: 1, | 15 ON: 1, |
16 ABOVE: 2, | 16 ABOVE: 2, |
17 BELOW: 3, | 17 BELOW: 3, |
18 }; | 18 }; |
19 | 19 |
20 function getFolderNode(id) { | 20 function getFolderNode(id) { |
21 var nodes = [sidebar]; | 21 var nodes = [rootFolderNode]; |
22 var node; | 22 var node; |
23 while (nodes.length) { | 23 while (nodes.length) { |
24 node = nodes.pop(); | 24 node = nodes.pop(); |
25 if (node.itemId == id) | 25 if (node.itemId == id) |
26 return node; | 26 return node; |
27 | 27 |
28 node.root.querySelectorAll('bookmarks-folder-node') | 28 node.root.querySelectorAll('bookmarks-folder-node') |
29 .forEach((x) => {nodes.unshift(x)}); | 29 .forEach((x) => {nodes.unshift(x)}); |
30 } | 30 } |
31 } | 31 } |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 }); | 100 }); |
101 bookmarks.Store.instance_ = store; | 101 bookmarks.Store.instance_ = store; |
102 | 102 |
103 chrome.bookmarkManagerPrivate.startDrag = function(nodes, isTouch) { | 103 chrome.bookmarkManagerPrivate.startDrag = function(nodes, isTouch) { |
104 draggedIds = nodes; | 104 draggedIds = nodes; |
105 }; | 105 }; |
106 | 106 |
107 app = document.createElement('bookmarks-app'); | 107 app = document.createElement('bookmarks-app'); |
108 replaceBody(app); | 108 replaceBody(app); |
109 list = app.$$('bookmarks-list'); | 109 list = app.$$('bookmarks-list'); |
110 sidebar = app.$$('bookmarks-sidebar'); | 110 rootFolderNode = app.$$('bookmarks-folder-node'); |
111 dndManager = app.dndManager_; | 111 dndManager = app.dndManager_; |
112 dndManager.dropIndicator_.disableTimeoutForTesting(); | 112 dndManager.dropIndicator_.disableTimeoutForTesting(); |
113 Polymer.dom.flush(); | 113 Polymer.dom.flush(); |
114 }); | 114 }); |
115 | 115 |
116 test('dragInfo isDraggingFolderToDescendant', function() { | 116 test('dragInfo isDraggingFolderToDescendant', function() { |
117 var dragInfo = new bookmarks.DragInfo(); | 117 var dragInfo = new bookmarks.DragInfo(); |
118 var nodes = store.data.nodes; | 118 var nodes = store.data.nodes; |
119 dragInfo.handleChromeDragEnter(createDragData(['11'])); | 119 dragInfo.handleChromeDragEnter(createDragData(['11'])); |
120 assertTrue(dragInfo.isDraggingFolderToDescendant('111', nodes)); | 120 assertTrue(dragInfo.isDraggingFolderToDescendant('111', nodes)); |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 | 474 |
475 dispatchDragEvent('dragstart', dragElement); | 475 dispatchDragEvent('dragstart', dragElement); |
476 dndManager.dragInfo_.handleChromeDragEnter(createDragData(draggedIds)); | 476 dndManager.dragInfo_.handleChromeDragEnter(createDragData(draggedIds)); |
477 | 477 |
478 dispatchDragEvent('dragover', dragTarget); | 478 dispatchDragEvent('dragover', dragTarget); |
479 assertEquals( | 479 assertEquals( |
480 DropPosition.NONE, dndManager.calculateValidDropPositions_(dragTarget)); | 480 DropPosition.NONE, dndManager.calculateValidDropPositions_(dragTarget)); |
481 assertDragStyle(dragTarget, DRAG_STYLE.NONE); | 481 assertDragStyle(dragTarget, DRAG_STYLE.NONE); |
482 }); | 482 }); |
483 }); | 483 }); |
OLD | NEW |