xmpp.chapril.org-conversejs/tests/runner.js

90 lines
2.8 KiB
JavaScript
Raw Normal View History

2017-04-05 11:01:31 +02:00
/*global config */
// Extra test dependencies
config.paths.mock = "tests/mock";
2017-04-05 11:01:31 +02:00
config.paths['wait-until-promise'] = "node_modules/wait-until-promise/index";
config.paths['test-utils'] = "tests/utils";
config.paths.sinon = "node_modules/sinon/pkg/sinon";
2016-05-24 10:00:07 +02:00
config.paths.transcripts = "converse-logs/converse-logs";
2017-04-05 11:01:31 +02:00
config.paths.jasmine = "node_modules/jasmine-core/lib/jasmine-core/jasmine";
config.paths.boot = "node_modules/jasmine-core/lib/jasmine-core/boot";
2017-02-14 07:47:00 +01:00
config.paths["jasmine-html"] = "node_modules/jasmine-core/lib/jasmine-core/jasmine-html";
2017-04-05 11:01:31 +02:00
// config.paths["console-runner"] = "node_modules/phantom-jasmine/lib/console-runner";
config.shim.jasmine = {
exports: 'window.jasmineRequire'
};
config.shim['jasmine-html'] = {
deps: ['jasmine'],
2017-04-05 11:01:31 +02:00
exports: 'window.jasmineRequire'
};
2017-04-05 11:01:31 +02:00
config.shim.boot = {
deps: ['jasmine', 'jasmine-html'],
exports: 'window.jasmineRequire'
};
/*
2016-11-30 13:18:58 +01:00
config.shim['console-runner'] = {
deps: ['jasmine']
};
2017-04-05 11:01:31 +02:00
*/
require.config(config);
2013-10-03 12:35:54 +02:00
// Polyfill 'bind' which is not available in phantomjs < 2.0
if (!Function.prototype.bind) {
Function.prototype.bind = function (oThis) {
if (typeof this !== "function") {
// closest thing possible to the ECMAScript 5 internal IsCallable function
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
}
var aArgs = Array.prototype.slice.call(arguments, 1),
fToBind = this,
2013-10-03 12:35:54 +02:00
fNOP = function () {},
fBound = function () {
return fToBind.apply(this instanceof fNOP && oThis ? this : oThis,
aArgs.concat(Array.prototype.slice.call(arguments)));
};
fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();
return fBound;
};
}
2017-04-05 11:01:31 +02:00
var specs = [
2016-11-30 13:18:58 +01:00
//"spec/transcripts",
2017-04-05 11:01:31 +02:00
// "spec/profiling",
2016-11-30 13:18:58 +01:00
"spec/utils",
"spec/converse",
"spec/bookmarks",
"spec/roomslist",
2016-11-30 13:18:58 +01:00
"spec/headline",
"spec/disco",
"spec/protocol",
2017-02-20 20:47:08 +01:00
"spec/presence",
2017-04-05 11:01:31 +02:00
"spec/eventemitter",
"spec/ping",
"spec/xmppstatus",
2016-11-30 13:18:58 +01:00
"spec/mam",
"spec/otr",
"spec/controlbox",
"spec/chatbox",
"spec/chatroom",
"spec/minchats",
"spec/notification",
2017-04-05 11:01:31 +02:00
"spec/register"
];
require(['jquery', 'mock', 'boot', 'sinon', 'wait-until-promise'],
function($, mock, jasmine, sinon, waitUntilPromise) {
window.sinon = sinon;
window.waitUntilPromise = waitUntilPromise['default'];
window.localStorage.clear();
window.sessionStorage.clear();
// Load the specs
require(specs, function () {
// Initialize the HTML Reporter and execute the environment (setup by `boot.js`)
// http://stackoverflow.com/questions/19240302/does-jasmine-2-0-really-not-work-with-require-js
window.onload();
});
}
);