summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/tests/xpcshell/test_NewTabSearchProvider.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/newtab/tests/xpcshell/test_NewTabSearchProvider.js')
-rw-r--r--browser/components/newtab/tests/xpcshell/test_NewTabSearchProvider.js82
1 files changed, 0 insertions, 82 deletions
diff --git a/browser/components/newtab/tests/xpcshell/test_NewTabSearchProvider.js b/browser/components/newtab/tests/xpcshell/test_NewTabSearchProvider.js
deleted file mode 100644
index 3e60b282a..000000000
--- a/browser/components/newtab/tests/xpcshell/test_NewTabSearchProvider.js
+++ /dev/null
@@ -1,82 +0,0 @@
-"use strict";
-
-/* global XPCOMUtils, NewTabSearchProvider, run_next_test, ok, equal, do_check_true, do_get_profile, Services */
-/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */
-
-const Cu = Components.utils;
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-
-XPCOMUtils.defineLazyModuleGetter(this, "NewTabSearchProvider",
- "resource:///modules/NewTabSearchProvider.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "ContentSearch",
- "resource:///modules/ContentSearch.jsm");
-
-// ensure a profile exists
-do_get_profile();
-
-function run_test() {
- run_next_test();
-}
-
-function hasProp(obj) {
- return function(aProp) {
- ok(obj.hasOwnProperty(aProp), `expect to have property ${aProp}`);
- };
-}
-
-add_task(function* test_search() {
- ContentSearch.init();
- let observerPromise = new Promise(resolve => {
- Services.obs.addObserver(function observer(aSubject, aTopic, aData) {
- if (aData === "init-complete" && aTopic === "browser-search-service") {
- Services.obs.removeObserver(observer, "browser-search-service");
- resolve();
- }
- }, "browser-search-service", false);
- });
- Services.search.init();
- yield observerPromise;
- do_check_true(Services.search.isInitialized);
-
- // get initial state of search and check it has correct properties
- let state = yield NewTabSearchProvider.search.asyncGetState();
- let stateProps = hasProp(state);
- ["engines", "currentEngine"].forEach(stateProps);
-
- // check that the current engine is correct and has correct properties
- let {currentEngine} = state;
- equal(currentEngine.name, Services.search.currentEngine.name, "Current engine has been correctly set");
- var engineProps = hasProp(currentEngine);
- ["name", "placeholder", "iconBuffer"].forEach(engineProps);
-
- // create dummy test engines to test observer
- Services.search.addEngineWithDetails("TestSearch1", "", "", "", "GET",
- "http://example.com/?q={searchTerms}");
- Services.search.addEngineWithDetails("TestSearch2", "", "", "", "GET",
- "http://example.com/?q={searchTerms}");
-
- // set one of the dummy test engines to the default engine
- Services.search.defaultEngine = Services.search.getEngineByName("TestSearch1");
-
- // test that the event emitter is working by setting a new current engine "TestSearch2"
- let engineName = "TestSearch2";
- NewTabSearchProvider.search.init();
-
- // event emitter will fire when current engine is changed
- let promise = new Promise(resolve => {
- NewTabSearchProvider.search.once("browser-search-engine-modified", (name, data) => { // jshint ignore:line
- resolve([name, data.name]);
- });
- });
-
- // set a new current engine
- Services.search.currentEngine = Services.search.getEngineByName(engineName);
- let expectedEngineName = Services.search.currentEngine.name;
-
- // emitter should fire and return the new engine
- let [eventName, actualEngineName] = yield promise;
- equal(eventName, "browser-search-engine-modified", `emitter sent the correct event ${eventName}`);
- equal(expectedEngineName, actualEngineName, `emitter set the correct engine ${expectedEngineName}`);
- NewTabSearchProvider.search.uninit();
-});