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

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

Issue 2772003002: [MD Bookmarks] Make drag and drop update data model. (Closed)
Patch Set: Created 3 years, 9 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/dnd_manager_test.js
diff --git a/chrome/test/data/webui/md_bookmarks/dnd_manager_test.js b/chrome/test/data/webui/md_bookmarks/dnd_manager_test.js
index 2984f47e9cd14ed1aafb78f28163609bac50b6b2..9e445ccc3866b93b8a5034e9c338d00e3bc10119 100644
--- a/chrome/test/data/webui/md_bookmarks/dnd_manager_test.js
+++ b/chrome/test/data/webui/md_bookmarks/dnd_manager_test.js
@@ -339,4 +339,95 @@ suite('drag and drop', function() {
DropPosition.ON | DropPosition.ABOVE | DropPosition.BELOW,
dndManager.calculateValidDropPositions_(getFolderNode('112')));
});
+
+ test('calculateDropInfo_', function() {
+ // Drops onto the list.
tsergeant 2017/03/29 00:32:48 You could use a helper function here to shorten th
calamity 2017/03/29 03:35:37 Done.
+ assertDeepEquals(
+ {
+ parentId: '1',
+ index: 0,
+ },
+ dndManager.calculateDropInfo_({
+ element: getListItem('11'),
+ position: DropPosition.ABOVE,
+ }));
+
+ assertDeepEquals(
+ {
+ parentId: '1',
+ index: 2,
+ },
+ dndManager.calculateDropInfo_({
+ element: getListItem('12'),
+ position: DropPosition.BELOW,
+ }));
+
+ assertDeepEquals(
+ {
+ parentId: '13',
+ index: -1,
+ },
+ dndManager.calculateDropInfo_({
+ element: getListItem('13'),
+ position: DropPosition.ON,
+ }));
+
+ // Drops onto the sidebar.
+ assertDeepEquals(
+ {
+ parentId: '1',
+ index: 4,
+ },
+ dndManager.calculateDropInfo_({
+ element: getFolderNode('15'),
+ position: DropPosition.ABOVE,
+ }));
+
+ assertDeepEquals(
+ {
+ parentId: '1',
+ index: 5,
+ },
+ dndManager.calculateDropInfo_({
+ element: getFolderNode('15'),
+ position: DropPosition.BELOW,
+ }));
+
+ assertDeepEquals(
+ {
+ parentId: '111',
+ index: -1,
+ },
+ dndManager.calculateDropInfo_({
+ element: getFolderNode('111'),
+ position: DropPosition.ON,
+ }));
+ });
+
+ test('simple drag and drop end to end', function() {
+ var dropParentId;
+ var dropIndex;
+ chrome.bookmarkManagerPrivate.drop = function(parentId, index) {
+ dropParentId = parentId;
+ dropIndex = index;
+ };
+
+ var dragElement = getListItem('13');
+ var dragTarget = getListItem('12');
+
+ dispatchDragEvent('dragstart', dragElement);
+ assertDeepEquals(['13'], draggedIds);
+ dndManager.dragInfo_.handleChromeDragEnter(createDragData(draggedIds));
+
+ dispatchDragEvent(
+ 'dragover', dragTarget, MockInteractions.topLeftOfNode(dragTarget));
+ assertDragStyle(dragTarget, DRAG_STYLE.ABOVE);
+
+ dispatchDragEvent('drop', dragTarget);
+ assertEquals('1', dropParentId);
+ assertEquals(1, dropIndex);
+
+ dispatchDragEvent('dragend', dragTarget);
+ assertDragStyle(dragTarget, DRAG_STYLE.NONE);
+ });
});

Powered by Google App Engine
This is Rietveld 408576698