diff options
Diffstat (limited to 'browser/base/content/test/newtab/browser_newtab_bug1194895.js')
-rw-r--r-- | browser/base/content/test/newtab/browser_newtab_bug1194895.js | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/browser/base/content/test/newtab/browser_newtab_bug1194895.js b/browser/base/content/test/newtab/browser_newtab_bug1194895.js deleted file mode 100644 index c08b23185..000000000 --- a/browser/base/content/test/newtab/browser_newtab_bug1194895.js +++ /dev/null @@ -1,146 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -const PRELOAD_PREF = "browser.newtab.preload"; -const PREF_NEWTAB_COLUMNS = "browser.newtabpage.columns"; -const PREF_NEWTAB_ROWS = "browser.newtabpage.rows"; - -function populateDirectoryTiles() { - let directoryTiles = []; - let i = 0; - while (i++ < 14) { - directoryTiles.push({ - directoryId: i, - url: "http://example" + i + ".com/", - enhancedImageURI: "data:image/png;base64,helloWORLD", - title: "dirtitle" + i, - type: "affiliate" - }); - } - return directoryTiles; -} - -gDirectorySource = "data:application/json," + JSON.stringify({ - "directory": populateDirectoryTiles() -}); - - -add_task(function* () { - requestLongerTimeout(4); - let origEnhanced = NewTabUtils.allPages.enhanced; - let origCompareLinks = NewTabUtils.links.compareLinks; - registerCleanupFunction(() => { - NewTabUtils.allPages.enhanced = origEnhanced; - NewTabUtils.links.compareLinks = origCompareLinks; - }); - - // turn off preload to ensure grid updates on every setLinks - yield pushPrefs([PRELOAD_PREF, false]); - // set newtab to have three columns only - yield pushPrefs([PREF_NEWTAB_COLUMNS, 3]); - yield pushPrefs([PREF_NEWTAB_ROWS, 5]); - - yield* addNewTabPageTab(); - yield customizeNewTabPage("enhanced"); // Toggle enhanced off - - // Testing history tiles - - // two rows of tiles should always fit on any screen - yield setLinks("0,1,2,3,4,5"); - yield* addNewTabPageTab(); - - // should do not see scrollbar since tiles fit into visible space - yield* checkGrid("0,1,2,3,4,5"); - let scrolling = yield hasScrollbar(); - ok(!scrolling, "no scrollbar"); - - // add enough tiles to cause extra two rows and observe scrollbar - yield setLinks("0,1,2,3,4,5,6,7,8,9"); - yield* addNewTabPageTab(); - yield* checkGrid("0,1,2,3,4,5,6,7,8,9"); - scrolling = yield hasScrollbar(); - ok(scrolling, "document has scrollbar"); - - // pin the last tile to make it stay at the bottom of the newtab - yield pinCell(9); - // block first 6 tiles, which should not remove the scroll bar - // since the last tile is pinned in the nineth position - for (let i = 0; i < 6; i++) { - yield blockCell(0); - } - yield* addNewTabPageTab(); - yield* checkGrid("6,7,8,,,,,,,9p"); - scrolling = yield hasScrollbar(); - ok(scrolling, "document has scrollbar when tile is pinned to the last row"); - - // unpin the site: this will move tile up and make scrollbar disappear - yield unpinCell(9); - yield* addNewTabPageTab(); - yield* checkGrid("6,7,8,9"); - scrolling = yield hasScrollbar(); - ok(!scrolling, "no scrollbar when bottom row tile is unpinned"); - - // reset everything to clean slate - NewTabUtils.restore(); - - // Testing directory tiles - yield customizeNewTabPage("enhanced"); // Toggle enhanced on - - // setup page with no history tiles to test directory only display - yield setLinks([]); - yield* addNewTabPageTab(); - ok(!scrolling, "no scrollbar for directory tiles"); - - // introduce one history tile - it should occupy the last - // available slot at the bottom of newtab and cause scrollbar - yield setLinks("41"); - yield* addNewTabPageTab(); - scrolling = yield hasScrollbar(); - ok(scrolling, "adding low frecency history site causes scrollbar"); - - // set PREF_NEWTAB_ROWS to 4, that should clip off the history tile - // and remove scroll bar - yield pushPrefs([PREF_NEWTAB_ROWS, 4]); - yield* addNewTabPageTab(); - - scrolling = yield hasScrollbar(); - ok(!scrolling, "no scrollbar if history tiles falls past max rows"); - - // restore max rows and watch scrollbar re-appear - yield pushPrefs([PREF_NEWTAB_ROWS, 5]); - yield* addNewTabPageTab(); - scrolling = yield hasScrollbar(); - ok(scrolling, "scrollbar is back when max rows allow for bottom history tile"); - - // block that history tile, and watch scrollbar disappear - yield blockCell(14); - yield* addNewTabPageTab(); - scrolling = yield hasScrollbar(); - ok(!scrolling, "no scrollbar after bottom history tiles is blocked"); - - // Test well-populated user history - newtab has highly-frecent history sites - // redefine compareLinks to always choose history tiles first - NewTabUtils.links.compareLinks = function (aLink1, aLink2) { - if (aLink1.type == aLink2.type) { - return aLink2.frecency - aLink1.frecency || - aLink2.lastVisitDate - aLink1.lastVisitDate; - } - if (aLink2.type == "history") { - return 1; - } - return -1; - }; - - // add a row of history tiles, directory tiles will be clipped off, hence no scrollbar - yield setLinks("31,32,33"); - yield* addNewTabPageTab(); - scrolling = yield hasScrollbar(); - ok(!scrolling, "no scrollbar when directory tiles follow history tiles"); - - // fill first four rows with history tiles and observer scrollbar - yield setLinks("30,31,32,33,34,35,36,37,38,39"); - yield* addNewTabPageTab(); - scrolling = yield hasScrollbar(); - ok(scrolling, "scrollbar appears when history tiles need extra row"); -}); - |