30 Components.utils.import(
"resource://gre/modules/XPCOMUtils.jsm");
32 if (typeof(
Cc) ==
"undefined")
33 this.
Cc = Components.classes;
34 if (typeof(
Ci) ==
"undefined")
35 this.
Ci = Components.interfaces;
38 name:
"test_engine-1",
39 contractId:
"songbird-internal-search",
40 url:
"http://google.com/?q="
44 var iseService =
Cc[
"@getnightingale.com/Nightingale/internal-search-service;1"].getService(
Ci.ngIInternalSearchEnginesService);
45 var searchService =
Cc[
"@mozilla.org/browser/search-service;1"].getService(
Ci.nsIBrowserSearchService);
46 assertTrue(iseService,
"Couldn't get an instance of the Internal Search Service");
49 assertTrue(!searchService.getEngineByName(
testEngine1.name),
"Engine already exists, please check your build configuration");
53 iseService.registerInternalSearchEngine(
testEngine1.name,
"doesnt-exist");
58 assertTrue(thrown,
"Even though the given contractID doesn't implement sbISearchEngine, no error was thrown");
59 assertEqual(iseService.getInternalSearchEngine(
testEngine1.name),
null,
"Engine was registered even though the registration shouldn't have taken place");
61 assertTrue(!iseService.registerInternalSearchEngine(
testEngine1.name,
testEngine1.contractId),
"Internal Search Engine could be registered, even though no engine with those properties has been registered");
62 assertEqual(iseService.getInternalSearchEngine(
testEngine1.name),
null,
"Engine was registered even though the registration supposedly failed");
65 assertTrue(searchService.getEngineByName(
testEngine1.name),
"Test engine was not registered in browser search provider");
67 assertTrue(iseService.registerInternalSearchEngine(
testEngine1.name,
testEngine1.contractId),
"Internal Search Engine could not be registered, even though the given engine exists");
68 assertTrue(!iseService.registerInternalSearchEngine(
testEngine1.name,
testEngine1.contractId),
"Could reregister internal search engine, even though it has just been registered");
70 assertTrue(iseService.getInternalSearchEngine(
testEngine1.name),
"Test Engine was not found, even though successfull registered");
72 var internalSearchEngine, querySuccessfull =
true;
74 internalSearchEngine = iseService.getInternalSearchEngine(
testEngine1.name).QueryInterface(
Ci.ngIInternalSearchEngine);
77 querySuccessfull =
false;
79 assertTrue(querySuccessfull,
"Could not get Internal Search Engine from getInernalSearchEngine return value");
80 assertEqual(internalSearchEngine.contractID,
testEngine1.contractId,
"ContracID of registered test engine does not match");
81 assertTrue(!internalSearchEngine.liveSeach,
"Live search is enabled, even though it should default to false");
83 iseService.unregisterInternalSearchEngine(
testEngine1.name);
84 assertEqual(iseService.getInternalSearchEngine(
testEngine1.name),
null,
"Internal Search Engine still registered, even though it has been unregistered");
87 assertTrue(iseService.getInternalSearchEngine(
testEngine1.name).QueryInterface(
Ci.ngIInternalSearchEngine).liveSearch,
"Live seach is false, even though it has been set to true");
89 iseService.unregisterInternalSearchEngine(
testEngine1.name);
90 searchService.removeEngine(searchService.getEngineByName(
testEngine1.name));
function assertTrue(aTest, aMessage)
function assertEqual(aExpected, aActual, aMessage)
function runTest()
Advanced DataRemote unit tests.