2017-04-05 11:01:31 +02:00
|
|
|
/*global config */
|
|
|
|
|
2013-12-30 20:27:57 +01:00
|
|
|
// 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";
|
2017-04-06 22:28:35 +02:00
|
|
|
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'
|
|
|
|
};
|
2013-12-30 20:27:57 +01:00
|
|
|
config.shim['jasmine-html'] = {
|
|
|
|
deps: ['jasmine'],
|
2017-04-05 11:01:31 +02:00
|
|
|
exports: 'window.jasmineRequire'
|
2013-12-30 20:27:57 +01:00
|
|
|
};
|
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
|
|
|
*/
|
2013-12-30 20:27:57 +01:00
|
|
|
require.config(config);
|
2013-07-28 21:20:36 +02:00
|
|
|
|
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");
|
|
|
|
}
|
2014-04-18 17:39:45 +02:00
|
|
|
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",
|
2017-05-16 11:56:40 +02:00
|
|
|
"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();
|
|
|
|
});
|
2013-07-27 10:51:55 +02:00
|
|
|
}
|
2013-08-05 09:25:29 +02:00
|
|
|
);
|