summaryrefslogtreecommitdiffstats
path: root/browser/components/preferences/in-content/tests/browser_bug731866.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/preferences/in-content/tests/browser_bug731866.js')
-rw-r--r--browser/components/preferences/in-content/tests/browser_bug731866.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/browser/components/preferences/in-content/tests/browser_bug731866.js b/browser/components/preferences/in-content/tests/browser_bug731866.js
new file mode 100644
index 000000000..c1031d412
--- /dev/null
+++ b/browser/components/preferences/in-content/tests/browser_bug731866.js
@@ -0,0 +1,52 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+Components.utils.import("resource://gre/modules/PlacesUtils.jsm");
+Components.utils.import("resource://gre/modules/NetUtil.jsm");
+
+function test() {
+ waitForExplicitFinish();
+ open_preferences(runTest);
+}
+
+var gElements;
+
+function checkElements(expectedPane) {
+ for (let element of gElements) {
+ // keyset and preferences elements fail is_element_visible checks because they are never visible.
+ // special-case the drmGroup item because its visibility depends on pref + OS version
+ if (element.nodeName == "keyset" ||
+ element.nodeName == "preferences" ||
+ element.id === "drmGroup") {
+ continue;
+ }
+ let attributeValue = element.getAttribute("data-category");
+ let suffix = " (id=" + element.id + ")";
+ if (attributeValue == "pane" + expectedPane) {
+ is_element_visible(element, expectedPane + " elements should be visible" + suffix);
+ } else {
+ is_element_hidden(element, "Elements not in " + expectedPane + " should be hidden" + suffix);
+ }
+ }
+}
+
+function runTest(win) {
+ is(gBrowser.currentURI.spec, "about:preferences", "about:preferences loaded");
+
+ let tab = win.document;
+ gElements = tab.getElementById("mainPrefPane").children;
+
+ let panes = [
+ "General", "Search", "Content", "Applications",
+ "Privacy", "Security", "Sync", "Advanced",
+ ];
+
+ for (let pane of panes) {
+ win.gotoPref("pane" + pane);
+ checkElements(pane);
+ }
+
+ gBrowser.removeCurrentTab();
+ win.close();
+ finish();
+}