michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: const PREF_NEWTAB_ROWS = "browser.newtabpage.rows"; michael@0: const PREF_NEWTAB_COLUMNS = "browser.newtabpage.columns"; michael@0: michael@0: function runTests() { michael@0: let testValues = [ michael@0: {row: 0, column: 0}, michael@0: {row: -1, column: -1}, michael@0: {row: -1, column: 0}, michael@0: {row: 0, column: -1}, michael@0: {row: 2, column: 4}, michael@0: {row: 2, column: 5}, michael@0: ]; michael@0: michael@0: // Expected length of grid michael@0: let expectedValues = [1, 1, 1, 1, 8, 10]; michael@0: michael@0: // Values before setting new pref values (9 is the default value -> 3 x 3) michael@0: let previousValues = [9, 1, 1, 1, 1, 8]; michael@0: michael@0: let existingTab, existingTabGridLength, newTab, newTabGridLength; michael@0: yield addNewTabPageTab(); michael@0: existingTab = gBrowser.selectedTab; michael@0: michael@0: for (let i = 0; i < expectedValues.length; i++) { michael@0: gBrowser.selectedTab = existingTab; michael@0: existingTabGridLength = getGrid().cells.length; michael@0: is(existingTabGridLength, previousValues[i], michael@0: "Grid length of existing page before update is correctly."); michael@0: michael@0: Services.prefs.setIntPref(PREF_NEWTAB_ROWS, testValues[i].row); michael@0: Services.prefs.setIntPref(PREF_NEWTAB_COLUMNS, testValues[i].column); michael@0: michael@0: existingTabGridLength = getGrid().cells.length; michael@0: is(existingTabGridLength, expectedValues[i], michael@0: "Existing page grid is updated correctly."); michael@0: michael@0: yield addNewTabPageTab(); michael@0: newTab = gBrowser.selectedTab; michael@0: newTabGridLength = getGrid().cells.length; michael@0: is(newTabGridLength, expectedValues[i], michael@0: "New page grid is updated correctly."); michael@0: michael@0: gBrowser.removeTab(newTab); michael@0: } michael@0: michael@0: gBrowser.removeTab(existingTab); michael@0: michael@0: Services.prefs.clearUserPref(PREF_NEWTAB_ROWS); michael@0: Services.prefs.clearUserPref(PREF_NEWTAB_COLUMNS); michael@0: }