gecko/browser/components/search/test/browser_483086.js

52 lines
1.8 KiB
JavaScript
Raw Normal View History

2012-05-21 04:12:37 -07:00
/* 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/. */
2010-04-02 00:20:42 -07:00
let gSS = Services.search;
2009-03-18 00:52:43 -07:00
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":
2010-04-02 00:20:42 -07:00
Services.obs.removeObserver(observer, "browser-search-engine-modified");
test2();
break;
2009-03-18 00:52:43 -07:00
}
}
2009-03-18 00:52:43 -07:00
2010-04-02 00:20:42 -07:00
Services.obs.addObserver(observer, "browser-search-engine-modified", false);
gSS.addEngine("http://mochi.test:8888/browser/browser/components/search/test/483086-1.xml",
2009-03-18 00:52:43 -07:00
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":
2010-04-02 00:20:42 -07:00
Services.obs.removeObserver(observer, "browser-search-engine-modified");
finish();
break;
2009-03-18 00:52:43 -07:00
}
}
2009-03-18 00:52:43 -07:00
2010-04-02 00:20:42 -07:00
Services.obs.addObserver(observer, "browser-search-engine-modified", false);
gSS.addEngine("http://mochi.test:8888/browser/browser/components/search/test/483086-2.xml",
2009-03-18 00:52:43 -07:00
Ci.nsISearchEngine.DATA_XML, "data:image/x-icon;%00",
false);
}