mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
52 lines
1.8 KiB
JavaScript
52 lines
1.8 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
let gSS = Services.search;
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
|
|
function observer(aSubject, aTopic, aData) {
|
|
switch (aData) {
|
|
case "engine-added":
|
|
let engine = gSS.getEngineByName("483086a");
|
|
ok(engine, "Test engine 1 installed");
|
|
isnot(engine.searchForm, "foo://example.com",
|
|
"Invalid SearchForm URL dropped");
|
|
gSS.removeEngine(engine);
|
|
break;
|
|
case "engine-removed":
|
|
Services.obs.removeObserver(observer, "browser-search-engine-modified");
|
|
test2();
|
|
break;
|
|
}
|
|
}
|
|
|
|
Services.obs.addObserver(observer, "browser-search-engine-modified", false);
|
|
gSS.addEngine("http://mochi.test:8888/browser/browser/components/search/test/483086-1.xml",
|
|
Ci.nsISearchEngine.DATA_XML, "data:image/x-icon;%00",
|
|
false);
|
|
}
|
|
|
|
function test2() {
|
|
function observer(aSubject, aTopic, aData) {
|
|
switch (aData) {
|
|
case "engine-added":
|
|
let engine = gSS.getEngineByName("483086b");
|
|
ok(engine, "Test engine 2 installed");
|
|
is(engine.searchForm, "http://example.com", "SearchForm is correct");
|
|
gSS.removeEngine(engine);
|
|
break;
|
|
case "engine-removed":
|
|
Services.obs.removeObserver(observer, "browser-search-engine-modified");
|
|
finish();
|
|
break;
|
|
}
|
|
}
|
|
|
|
Services.obs.addObserver(observer, "browser-search-engine-modified", false);
|
|
gSS.addEngine("http://mochi.test:8888/browser/browser/components/search/test/483086-2.xml",
|
|
Ci.nsISearchEngine.DATA_XML, "data:image/x-icon;%00",
|
|
false);
|
|
}
|