summaryrefslogtreecommitdiff
path: root/browser/base/content/test/newtab/browser_newtab_unpin.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/newtab/browser_newtab_unpin.js')
-rw-r--r--browser/base/content/test/newtab/browser_newtab_unpin.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/browser/base/content/test/newtab/browser_newtab_unpin.js b/browser/base/content/test/newtab/browser_newtab_unpin.js
new file mode 100644
index 000000000..6d2d45b1e
--- /dev/null
+++ b/browser/base/content/test/newtab/browser_newtab_unpin.js
@@ -0,0 +1,56 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/*
+ * These tests make sure that when a site gets unpinned it is either moved to
+ * its actual place in the grid or removed in case it's not on the grid anymore.
+ */
+function runTests() {
+ // we have a pinned link that didn't change its position since it was pinned.
+ // nothing should happend when we unpin it.
+ yield setLinks("0,1,2,3,4,5,6,7,8");
+ setPinnedLinks(",1");
+
+ yield addNewTabPageTab();
+ checkGrid("0,1p,2,3,4,5,6,7,8");
+
+ yield unpinCell(1);
+ checkGrid("0,1,2,3,4,5,6,7,8");
+
+ // we have a pinned link that is not anymore in the list of the most-visited
+ // links. this should disappear, the remaining links adjust their positions
+ // and a new link will appear at the end of the grid.
+ yield setLinks("0,1,2,3,4,5,6,7,8");
+ setPinnedLinks(",99");
+
+ yield addNewTabPageTab();
+ checkGrid("0,99p,1,2,3,4,5,6,7");
+
+ yield unpinCell(1);
+ checkGrid("0,1,2,3,4,5,6,7,8");
+
+ // we have a pinned link that changed its position since it was pinned. it
+ // should be moved to its new position after being unpinned.
+ yield setLinks("0,1,2,3,4,5,6,7");
+ setPinnedLinks(",1,,,,,,,0");
+
+ yield addNewTabPageTab();
+ checkGrid("2,1p,3,4,5,6,7,,0p");
+
+ yield unpinCell(1);
+ checkGrid("1,2,3,4,5,6,7,,0p");
+
+ yield unpinCell(8);
+ checkGrid("0,1,2,3,4,5,6,7,");
+
+ // we have pinned link that changed its position since it was pinned. the
+ // link will disappear from the grid because it's now a much lower priority
+ yield setLinks("0,1,2,3,4,5,6,7,8,9");
+ setPinnedLinks("9");
+
+ yield addNewTabPageTab();
+ checkGrid("9p,0,1,2,3,4,5,6,7");
+
+ yield unpinCell(0);
+ checkGrid("0,1,2,3,4,5,6,7,8");
+}