1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
const SUGGEST_PREF_NAME = "browser.search.suggest.enabled";
const URLBAR_SUGGEST_PREF_NAME = "browser.urlbar.suggest.searches";
const PRIVATE_PREF_NAME = "browser.search.suggest.enabled.private";
let initialUrlbarSuggestValue;
let initialSuggestionsInPrivateValue;
add_setup(async function() {
const originalSuggest = Services.prefs.getBoolPref(SUGGEST_PREF_NAME);
initialUrlbarSuggestValue = Services.prefs.getBoolPref(
URLBAR_SUGGEST_PREF_NAME
);
initialSuggestionsInPrivateValue = Services.prefs.getBoolPref(
PRIVATE_PREF_NAME
);
registerCleanupFunction(() => {
Services.prefs.setBoolPref(SUGGEST_PREF_NAME, originalSuggest);
Services.prefs.setBoolPref(
PRIVATE_PREF_NAME,
initialSuggestionsInPrivateValue
);
});
});
// Open with suggestions enabled
add_task(async function test_suggestions_start_enabled() {
Services.prefs.setBoolPref(SUGGEST_PREF_NAME, true);
await openPreferencesViaOpenPreferencesAPI("search", { leaveOpen: true });
let doc = gBrowser.selectedBrowser.contentDocument;
let urlbarBox = doc.getElementById("urlBarSuggestion");
let privateBox = doc.getElementById("showSearchSuggestionsPrivateWindows");
ok(!urlbarBox.disabled, "Should have enabled the urlbar checkbox");
ok(
!privateBox.disabled,
"Should have enabled the private mode suggestions checkbox"
);
is(
urlbarBox.checked,
initialUrlbarSuggestValue,
"Should have the correct value for the urlbar checkbox"
);
is(
privateBox.checked,
initialSuggestionsInPrivateValue,
"Should have the correct value for the private mode suggestions checkbox"
);
async function toggleElement(id, prefName, element, initialValue, desc) {
await BrowserTestUtils.synthesizeMouseAtCenter(
`#${id}`,
{},
gBrowser.selectedBrowser
);
is(
element.checked,
!initialValue,
`Should have flipped the ${desc} checkbox`
);
let prefValue = Services.prefs.getBoolPref(prefName);
is(
prefValue,
!initialValue,
`Should have updated the ${desc} preference value`
);
await BrowserTestUtils.synthesizeMouseAtCenter(
`#${id}`,
{},
gBrowser.selectedBrowser
);
is(
element.checked,
initialValue,
`Should have flipped the ${desc} checkbox back to the original value`
);
prefValue = Services.prefs.getBoolPref(prefName);
is(
prefValue,
initialValue,
`Should have updated the ${desc} preference back to the original value`
);
}
await toggleElement(
"urlBarSuggestion",
URLBAR_SUGGEST_PREF_NAME,
urlbarBox,
initialUrlbarSuggestValue,
"urlbar"
);
await toggleElement(
"showSearchSuggestionsPrivateWindows",
PRIVATE_PREF_NAME,
privateBox,
initialSuggestionsInPrivateValue,
"private suggestion"
);
Services.prefs.setBoolPref(SUGGEST_PREF_NAME, false);
ok(!urlbarBox.checked, "Should have unchecked the urlbar box");
ok(urlbarBox.disabled, "Should have disabled the urlbar box");
ok(!privateBox.checked, "Should have unchecked the private suggestions box");
ok(privateBox.disabled, "Should have disabled the private suggestions box");
gBrowser.removeCurrentTab();
});
// Open with suggestions disabled
add_task(async function test_suggestions_start_disabled() {
Services.prefs.setBoolPref(SUGGEST_PREF_NAME, false);
await openPreferencesViaOpenPreferencesAPI("search", { leaveOpen: true });
let doc = gBrowser.selectedBrowser.contentDocument;
let urlbarBox = doc.getElementById("urlBarSuggestion");
ok(urlbarBox.disabled, "Should have the urlbar box disabled");
let privateBox = doc.getElementById("showSearchSuggestionsPrivateWindows");
ok(privateBox.disabled, "Should have the private suggestions box disabled");
Services.prefs.setBoolPref(SUGGEST_PREF_NAME, true);
ok(!urlbarBox.disabled, "Should have enabled the urlbar box");
ok(!privateBox.disabled, "Should have enabled the private suggestions box");
gBrowser.removeCurrentTab();
});
|