summaryrefslogtreecommitdiffstats
path: root/browser/components/sessionstore/test/browser_662743.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/sessionstore/test/browser_662743.js')
-rw-r--r--browser/components/sessionstore/test/browser_662743.js110
1 files changed, 0 insertions, 110 deletions
diff --git a/browser/components/sessionstore/test/browser_662743.js b/browser/components/sessionstore/test/browser_662743.js
deleted file mode 100644
index 212180213..000000000
--- a/browser/components/sessionstore/test/browser_662743.js
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-// This tests that session restore component does restore the right <select> option.
-// Session store should not rely only on previous user's selectedIndex, it should
-// check its value as well.
-
-function test() {
- /** Tests selected options **/
- requestLongerTimeout(2);
- waitForExplicitFinish();
-
- let testTabCount = 0;
- let formData = [
- // default case
- { },
-
- // new format
- // index doesn't match value (testing an option in between (two))
- { id:{ "select_id": {"selectedIndex":0,"value":"val2"} } },
- // index doesn't match value (testing an invalid value)
- { id:{ "select_id": {"selectedIndex":4,"value":"val8"} } },
- // index doesn't match value (testing an invalid index)
- { id:{ "select_id": {"selectedIndex":8,"value":"val5"} } },
- // index and value match position zero
- { id:{ "select_id": {"selectedIndex":0,"value":"val0"} }, xpath: {} },
- // index doesn't match value (testing the last option (seven))
- { id:{},"xpath":{ "/xhtml:html/xhtml:body/xhtml:select[@name='select_name']": {"selectedIndex":1,"value":"val7"} } },
- // index and value match the default option "selectedIndex":3,"value":"val3"
- { xpath: { "/xhtml:html/xhtml:body/xhtml:select[@name='select_name']" : {"selectedIndex":3,"value":"val3"} } },
- // index matches default option however it doesn't match value
- { id:{ "select_id": {"selectedIndex":3,"value":"val4"} } },
- ];
-
- let expectedValues = [
- null, // default value
- "val2",
- null, // default value (invalid value)
- "val5", // value is still valid (even it has an invalid index)
- "val0",
- "val7",
- null,
- "val4",
- ];
- let callback = function() {
- testTabCount--;
- if (testTabCount == 0) {
- finish();
- }
- };
-
- for (let i = 0; i < formData.length; i++) {
- testTabCount++;
- testTabRestoreData(formData[i], expectedValues[i], callback);
- }
-}
-
-function testTabRestoreData(aFormData, aExpectedValue, aCallback) {
- let testURL =
- getRootDirectory(gTestPath) + "browser_662743_sample.html";
- let tab = gBrowser.addTab(testURL);
-
- aFormData.url = testURL;
- let tabState = { entries: [{ url: testURL, }], formdata: aFormData };
-
- promiseBrowserLoaded(tab.linkedBrowser).then(() => {
- promiseTabState(tab, tabState).then(() => {
- // Flush to make sure we have the latest form data.
- return TabStateFlusher.flush(tab.linkedBrowser);
- }).then(() => {
- let doc = tab.linkedBrowser.contentDocument;
- let select = doc.getElementById("select_id");
- let value = select.options[select.selectedIndex].value;
- let restoredTabState = JSON.parse(ss.getTabState(tab));
-
- // If aExpectedValue=null we don't expect any form data to be collected.
- if (!aExpectedValue) {
- ok(!restoredTabState.hasOwnProperty("formdata"), "no formdata collected");
- gBrowser.removeTab(tab);
- aCallback();
- return;
- }
-
- // test select options values
- is(value, aExpectedValue,
- "Select Option by selectedIndex &/or value has been restored correctly");
-
- let restoredFormData = restoredTabState.formdata;
- let selectIdFormData = restoredFormData.id.select_id;
- value = restoredFormData.id.select_id.value;
-
- // test format
- ok("id" in restoredFormData || "xpath" in restoredFormData,
- "FormData format is valid");
- // test format
- ok("selectedIndex" in selectIdFormData && "value" in selectIdFormData,
- "select format is valid");
- // test set collection values
- is(value, aExpectedValue,
- "Collection has been saved correctly");
-
- // clean up
- gBrowser.removeTab(tab);
-
- aCallback();
- });
- });
-}