summaryrefslogtreecommitdiff
path: root/browser/base/content/test/newtab/browser_newtab_drag_drop_ext.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/newtab/browser_newtab_drag_drop_ext.js')
-rw-r--r--browser/base/content/test/newtab/browser_newtab_drag_drop_ext.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/browser/base/content/test/newtab/browser_newtab_drag_drop_ext.js b/browser/base/content/test/newtab/browser_newtab_drag_drop_ext.js
new file mode 100644
index 000000000..527ea2cc7
--- /dev/null
+++ b/browser/base/content/test/newtab/browser_newtab_drag_drop_ext.js
@@ -0,0 +1,55 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/*
+ * These tests make sure that dragging and dropping sites works as expected.
+ * Sites contained in the grid need to shift around to indicate the result
+ * of the drag-and-drop operation. If the grid is full and we're dragging
+ * a new site into it another one gets pushed out.
+ * This is a continuation of browser_newtab_drag_drop.js
+ * to decrease test run time, focusing on external sites.
+ */
+function runTests() {
+ // drag a new site onto the very first cell
+ yield setLinks("0,1,2,3,4,5,6,7,8");
+ setPinnedLinks(",,,,,,,7,8");
+
+ yield addNewTabPageTab();
+ checkGrid("0,1,2,3,4,5,6,7p,8p");
+
+ yield simulateDrop(0);
+ checkGrid("99p,0,1,2,3,4,5,7p,8p");
+
+ // drag a new site onto the grid and make sure that pinned cells don't get
+ // pushed out
+ yield setLinks("0,1,2,3,4,5,6,7,8");
+ setPinnedLinks(",,,,,,,7,8");
+
+ yield addNewTabPageTab();
+ checkGrid("0,1,2,3,4,5,6,7p,8p");
+
+ yield simulateDrop(7);
+ checkGrid("0,1,2,3,4,5,7p,99p,8p");
+
+ // drag a new site beneath a pinned cell and make sure the pinned cell is
+ // not moved
+ yield setLinks("0,1,2,3,4,5,6,7,8");
+ setPinnedLinks(",,,,,,,,8");
+
+ yield addNewTabPageTab();
+ checkGrid("0,1,2,3,4,5,6,7,8p");
+
+ yield simulateDrop(7);
+ checkGrid("0,1,2,3,4,5,6,99p,8p");
+
+ // drag a new site onto a block of pinned sites and make sure they're shifted
+ // around accordingly
+ yield setLinks("0,1,2,3,4,5,6,7,8");
+ setPinnedLinks("0,1,2,,,,,,");
+
+ yield addNewTabPageTab();
+ checkGrid("0p,1p,2p");
+
+ yield simulateDrop(1);
+ checkGrid("0p,99p,1p,2p,3,4,5,6,7");
+} \ No newline at end of file