diff options
Diffstat (limited to 'browser/base/content/test/newtab/browser_newtab_bug752841.js')
-rw-r--r-- | browser/base/content/test/newtab/browser_newtab_bug752841.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/browser/base/content/test/newtab/browser_newtab_bug752841.js b/browser/base/content/test/newtab/browser_newtab_bug752841.js new file mode 100644 index 000000000..e3faad13f --- /dev/null +++ b/browser/base/content/test/newtab/browser_newtab_bug752841.js @@ -0,0 +1,56 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +const PREF_NEWTAB_ROWS = "browser.newtabpage.rows"; +const PREF_NEWTAB_COLUMNS = "browser.newtabpage.columns"; + +function getCellsCount() +{ + return ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () { + return content.gGrid.cells.length; + }); +} + +add_task(function* () { + let testValues = [ + {row: 0, column: 0}, + {row: -1, column: -1}, + {row: -1, column: 0}, + {row: 0, column: -1}, + {row: 2, column: 4}, + {row: 2, column: 5}, + ]; + + // Expected length of grid + let expectedValues = [1, 1, 1, 1, 8, 10]; + + // Values before setting new pref values (15 is the default value -> 5 x 3) + let previousValues = [15, 1, 1, 1, 1, 8]; + + yield* addNewTabPageTab(); + let existingTab = gBrowser.selectedTab; + + for (let i = 0; i < expectedValues.length; i++) { + let existingTabGridLength = yield getCellsCount(); + is(existingTabGridLength, previousValues[i], + "Grid length of existing page before update is correctly."); + + yield pushPrefs([PREF_NEWTAB_ROWS, testValues[i].row]); + yield pushPrefs([PREF_NEWTAB_COLUMNS, testValues[i].column]); + + existingTabGridLength = yield getCellsCount(); + is(existingTabGridLength, expectedValues[i], + "Existing page grid is updated correctly."); + + yield* addNewTabPageTab(); + let newTab = gBrowser.selectedTab; + let newTabGridLength = yield getCellsCount(); + is(newTabGridLength, expectedValues[i], + "New page grid is updated correctly."); + + yield BrowserTestUtils.removeTab(newTab); + } + + gBrowser.removeTab(existingTab); +}); + |