browser/devtools/commandline/test/browser_cmd_settings.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:333a006b0a37
1 /* Any copyright is dedicated to the Public Domain.
2 * http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 // Tests that the pref commands work
5
6 let prefBranch = Cc["@mozilla.org/preferences-service;1"]
7 .getService(Ci.nsIPrefService).getBranch(null)
8 .QueryInterface(Ci.nsIPrefBranch2);
9
10 let supportsString = Cc["@mozilla.org/supports-string;1"]
11 .createInstance(Ci.nsISupportsString);
12
13 let settings = require("gcli/settings");
14
15 const TEST_URI = "data:text/html;charset=utf-8,gcli-settings";
16
17 function test() {
18 return Task.spawn(spawnTest).then(finish, helpers.handleError);
19 }
20
21 function spawnTest() {
22 // Setup
23 let options = yield helpers.openTab(TEST_URI);
24
25 let tiltEnabled = settings.getSetting("devtools.tilt.enabled");
26 let tabSize = settings.getSetting("devtools.editor.tabsize");
27 let remoteHost = settings.getSetting("devtools.debugger.remote-host");
28
29 let tiltEnabledOrig = prefBranch.getBoolPref("devtools.tilt.enabled");
30 let tabSizeOrig = prefBranch.getIntPref("devtools.editor.tabsize");
31 let remoteHostOrig = prefBranch.getComplexValue(
32 "devtools.debugger.remote-host",
33 Components.interfaces.nsISupportsString).data;
34
35 info("originally: devtools.tilt.enabled = " + tiltEnabledOrig);
36 info("originally: devtools.editor.tabsize = " + tabSizeOrig);
37 info("originally: devtools.debugger.remote-host = " + remoteHostOrig);
38
39 // Actual tests
40 is(tiltEnabled.value, tiltEnabledOrig, "tiltEnabled default");
41 is(tabSize.value, tabSizeOrig, "tabSize default");
42 is(remoteHost.value, remoteHostOrig, "remoteHost default");
43
44 tiltEnabled.setDefault();
45 tabSize.setDefault();
46 remoteHost.setDefault();
47
48 let tiltEnabledDefault = tiltEnabled.value;
49 let tabSizeDefault = tabSize.value;
50 let remoteHostDefault = remoteHost.value;
51
52 tiltEnabled.value = false;
53 tabSize.value = 42;
54 remoteHost.value = "example.com"
55
56 is(tiltEnabled.value, false, "tiltEnabled basic");
57 is(tabSize.value, 42, "tabSize basic");
58 is(remoteHost.value, "example.com", "remoteHost basic");
59
60 function tiltEnabledCheck(ev) {
61 is(ev.setting, tiltEnabled, "tiltEnabled event setting");
62 is(ev.value, true, "tiltEnabled event value");
63 is(ev.setting.value, true, "tiltEnabled event setting value");
64 }
65 tiltEnabled.onChange.add(tiltEnabledCheck);
66 tiltEnabled.value = true;
67 is(tiltEnabled.value, true, "tiltEnabled change");
68
69 function tabSizeCheck(ev) {
70 is(ev.setting, tabSize, "tabSize event setting");
71 is(ev.value, 1, "tabSize event value");
72 is(ev.setting.value, 1, "tabSize event setting value");
73 }
74 tabSize.onChange.add(tabSizeCheck);
75 tabSize.value = 1;
76 is(tabSize.value, 1, "tabSize change");
77
78 function remoteHostCheck(ev) {
79 is(ev.setting, remoteHost, "remoteHost event setting");
80 is(ev.value, "y.com", "remoteHost event value");
81 is(ev.setting.value, "y.com", "remoteHost event setting value");
82 }
83 remoteHost.onChange.add(remoteHostCheck);
84 remoteHost.value = "y.com";
85 is(remoteHost.value, "y.com", "remoteHost change");
86
87 tiltEnabled.onChange.remove(tiltEnabledCheck);
88 tabSize.onChange.remove(tabSizeCheck);
89 remoteHost.onChange.remove(remoteHostCheck);
90
91 function remoteHostReCheck(ev) {
92 is(ev.setting, remoteHost, "remoteHost event reset");
93 is(ev.value, null, "remoteHost event revalue");
94 is(ev.setting.value, null, "remoteHost event setting revalue");
95 }
96 remoteHost.onChange.add(remoteHostReCheck);
97
98 tiltEnabled.setDefault();
99 tabSize.setDefault();
100 remoteHost.setDefault();
101
102 remoteHost.onChange.remove(remoteHostReCheck);
103
104 is(tiltEnabled.value, tiltEnabledDefault, "tiltEnabled reset");
105 is(tabSize.value, tabSizeDefault, "tabSize reset");
106 is(remoteHost.value, remoteHostDefault, "remoteHost reset");
107
108 // Cleanup
109 prefBranch.setBoolPref("devtools.tilt.enabled", tiltEnabledOrig);
110 prefBranch.setIntPref("devtools.editor.tabsize", tabSizeOrig);
111 supportsString.data = remoteHostOrig;
112 prefBranch.setComplexValue("devtools.debugger.remote-host",
113 Components.interfaces.nsISupportsString,
114 supportsString);
115
116 yield helpers.closeTab(options);
117 }

mercurial