Files
tubestation/browser/extensions/activity-stream/test/unit/unit-entry.js
2017-10-13 14:22:17 -07:00

92 lines
2.4 KiB
JavaScript

const {GlobalOverrider, FakePrefs, FakePerformance, EventEmitter} = require("test/unit/utils");
const {chaiAssertions} = require("test/schemas/pings");
const req = require.context(".", true, /\.test\.jsx?$/);
const files = req.keys();
// This exposes sinon assertions to chai.assert
sinon.assert.expose(assert, {prefix: ""});
chai.use(chaiAssertions);
let overrider = new GlobalOverrider();
overrider.set({
Components: {
classes: {},
interfaces: {},
utils: {
import() {},
importGlobalProperties() {},
reportError() {},
now: () => window.performance.now()
},
isSuccessCode: () => true
},
// eslint-disable-next-line object-shorthand
ContentSearchUIController: function() {}, // NB: This is a function/constructor
dump() {},
fetch() {},
// eslint-disable-next-line object-shorthand
Image: function() {}, // NB: This is a function/constructor
Preferences: FakePrefs,
Services: {
locale: {
getAppLocalesAsLangTags() {},
getRequestedLocale() {},
negotiateLanguages() {}
},
urlFormatter: {formatURL: str => str},
mm: {
addMessageListener: (msg, cb) => cb(),
removeMessageListener() {}
},
appShell: {hiddenDOMWindow: {performance: new FakePerformance()}},
obs: {
addObserver() {},
removeObserver() {}
},
console: {logStringMessage: () => {}},
prefs: {
addObserver() {},
prefHasUserValue() {},
removeObserver() {},
getStringPref() {},
getBoolPref() {},
getBranch() {},
getDefaultBranch() {
return {
setBoolPref() {},
setIntPref() {},
setStringPref() {},
clearUserPref() {}
};
}
},
tm: {dispatchToMainThread: cb => cb()},
eTLD: {
getBaseDomain({spec}) { return spec.match(/\/([^/]+)/)[1]; },
getPublicSuffix() {}
},
io: {newURI(url) { return {spec: url}; }},
search: {
init(cb) { cb(); },
getVisibleEngines: () => [{identifier: "google"}, {identifier: "bing"}],
defaultEngine: {identifier: "google"}
}
},
XPCOMUtils: {
defineLazyGetter(_1, _2, f) { f(); },
defineLazyModuleGetter() {},
defineLazyServiceGetter() {},
generateQI() { return {}; }
},
EventEmitter,
ShellService: {isDefaultBrowser: () => true}
});
describe("activity-stream", () => {
after(() => overrider.restore());
files.forEach(file => req(file));
});