2013-07-28 21:20:36 +02:00
|
|
|
require.config({
|
|
|
|
paths: {
|
2013-07-30 00:15:43 +02:00
|
|
|
"jquery": "components/jquery/jquery",
|
|
|
|
"locales": "locale/locales",
|
2013-08-26 16:21:32 +02:00
|
|
|
"jquery.tinysort": "components/tinysort/src/jquery.tinysort",
|
2013-07-30 00:15:43 +02:00
|
|
|
"underscore": "components/underscore/underscore",
|
|
|
|
"backbone": "components/backbone/backbone",
|
2013-08-26 16:21:32 +02:00
|
|
|
"backbone.localStorage": "components/backbone.localStorage/backbone.localStorage",
|
2013-07-30 00:15:43 +02:00
|
|
|
"strophe": "components/strophe/strophe",
|
|
|
|
"strophe.muc": "components/strophe.muc/index",
|
|
|
|
"strophe.roster": "components/strophe.roster/index",
|
|
|
|
"strophe.vcard": "components/strophe.vcard/index",
|
|
|
|
"strophe.disco": "components/strophe.disco/index",
|
2013-11-13 07:16:53 +01:00
|
|
|
"salsa20": "components/otr/build/dep/salsa20",
|
2013-11-15 22:33:54 +01:00
|
|
|
"bigint": "src/bigint",
|
2013-11-13 07:16:53 +01:00
|
|
|
"crypto.core": "components/otr/vendor/cryptojs/core",
|
|
|
|
"crypto.enc-base64": "components/otr/vendor/cryptojs/enc-base64",
|
2014-02-28 03:04:52 +01:00
|
|
|
"crypto.md5": "components/crypto-js-evanvosberg/src/md5",
|
|
|
|
"crypto.evpkdf": "components/crypto-js-evanvosberg/src/evpkdf",
|
2013-11-13 07:16:53 +01:00
|
|
|
"crypto.cipher-core": "components/otr/vendor/cryptojs/cipher-core",
|
|
|
|
"crypto.aes": "components/otr/vendor/cryptojs/aes",
|
|
|
|
"crypto.sha1": "components/otr/vendor/cryptojs/sha1",
|
|
|
|
"crypto.sha256": "components/otr/vendor/cryptojs/sha256",
|
|
|
|
"crypto.hmac": "components/otr/vendor/cryptojs/hmac",
|
|
|
|
"crypto.pad-nopadding": "components/otr/vendor/cryptojs/pad-nopadding",
|
|
|
|
"crypto.mode-ctr": "components/otr/vendor/cryptojs/mode-ctr",
|
2013-11-17 16:02:02 +01:00
|
|
|
"crypto": "src/crypto",
|
2013-10-03 10:55:16 +02:00
|
|
|
"eventemitter": "components/otr/build/dep/eventemitter",
|
2013-11-13 07:16:53 +01:00
|
|
|
"otr": "components/otr/build/otr",
|
2013-11-17 16:02:02 +01:00
|
|
|
"converse-dependencies": "src/deps-full",
|
2013-07-30 00:15:43 +02:00
|
|
|
// Extra test dependencies
|
2013-11-02 09:56:20 +01:00
|
|
|
"mock": "tests/mock",
|
|
|
|
"utils": "tests/utils",
|
2013-07-30 00:15:43 +02:00
|
|
|
"jasmine": "components/jasmine/lib/jasmine-core/jasmine",
|
|
|
|
"jasmine-html": "components/jasmine/lib/jasmine-core/jasmine-html",
|
2013-07-28 21:20:36 +02:00
|
|
|
"jasmine-console-reporter": "node_modules/jasmine-reporters/src/jasmine.console_reporter",
|
|
|
|
"jasmine-junit-reporter": "node_modules/jasmine-reporters/src/jasmine.junit_reporter"
|
|
|
|
},
|
2013-07-30 00:15:43 +02:00
|
|
|
|
2013-07-28 21:20:36 +02:00
|
|
|
// define module dependencies for modules not using define
|
|
|
|
shim: {
|
2013-07-30 00:15:43 +02:00
|
|
|
'backbone': {
|
|
|
|
//These script dependencies should be loaded before loading
|
|
|
|
//backbone.js
|
|
|
|
deps: [
|
|
|
|
'underscore',
|
|
|
|
'jquery'
|
|
|
|
],
|
|
|
|
//Once loaded, use the global 'Backbone' as the
|
|
|
|
//module value.
|
|
|
|
exports: 'Backbone'
|
|
|
|
},
|
2013-08-31 20:53:12 +02:00
|
|
|
'jquery.tinysort': { deps: ['jquery'] },
|
2013-07-30 00:15:43 +02:00
|
|
|
'strophe': { deps: ['jquery'] },
|
|
|
|
'underscore': { exports: '_' },
|
|
|
|
'strophe.muc': { deps: ['strophe', 'jquery'] },
|
|
|
|
'strophe.roster': { deps: ['strophe'] },
|
|
|
|
'strophe.vcard': { deps: ['strophe'] },
|
|
|
|
'strophe.disco': { deps: ['strophe'] },
|
|
|
|
// Extra test dependencies
|
2013-07-28 21:20:36 +02:00
|
|
|
'jasmine-html': {
|
|
|
|
deps: ['jasmine'],
|
|
|
|
exports: 'jasmine'
|
|
|
|
},
|
|
|
|
'jasmine-console-reporter': {
|
|
|
|
deps: ['jasmine-html'],
|
|
|
|
exports: 'jasmine'
|
|
|
|
},
|
|
|
|
'jasmine-junit-reporter': {
|
|
|
|
deps: ['jasmine-html'],
|
|
|
|
exports: 'jasmine'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
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,
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2013-07-28 21:20:36 +02:00
|
|
|
require([
|
|
|
|
"jquery",
|
|
|
|
"converse",
|
|
|
|
"mock",
|
2013-08-05 09:25:29 +02:00
|
|
|
"jasmine-html"
|
2013-11-02 09:56:20 +01:00
|
|
|
], function($, converse, mock, jasmine) {
|
2013-08-05 09:25:29 +02:00
|
|
|
// Set up converse.js
|
2014-02-12 11:19:12 +01:00
|
|
|
window.converse_api = converse;
|
2013-08-05 09:25:29 +02:00
|
|
|
window.localStorage.clear();
|
|
|
|
converse.initialize({
|
|
|
|
prebind: false,
|
|
|
|
xhr_user_search: false,
|
|
|
|
auto_subscribe: false,
|
2013-08-24 03:10:06 +02:00
|
|
|
animate: false,
|
2013-12-18 03:52:16 +01:00
|
|
|
show_call_button: true,
|
2013-11-02 09:56:20 +01:00
|
|
|
connection: mock.mock_connection,
|
2013-08-24 03:10:06 +02:00
|
|
|
testing: true
|
|
|
|
}, function (converse) {
|
|
|
|
window.converse = converse;
|
2014-02-12 06:12:00 +01:00
|
|
|
window.crypto = {
|
|
|
|
getRandomValues: function (buf) {
|
|
|
|
var i;
|
|
|
|
for (i=0, len=buf.length; i<len; i++) {
|
|
|
|
buf[i] = Math.floor(Math.random()*256);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
2013-08-24 03:10:06 +02:00
|
|
|
require([
|
|
|
|
"jasmine-console-reporter",
|
|
|
|
"jasmine-junit-reporter",
|
2014-02-12 11:19:12 +01:00
|
|
|
"spec/converse",
|
2014-02-12 06:12:00 +01:00
|
|
|
"spec/otr",
|
2014-02-12 01:02:25 +01:00
|
|
|
"spec/eventemitter",
|
2013-12-16 18:42:46 +01:00
|
|
|
"spec/controlbox",
|
|
|
|
"spec/chatbox",
|
|
|
|
"spec/chatroom"
|
2013-08-24 03:10:06 +02:00
|
|
|
], function () {
|
2013-11-03 10:38:48 +01:00
|
|
|
// Make sure this callback is only called once.
|
|
|
|
delete converse.callback;
|
|
|
|
|
2013-08-24 03:10:06 +02:00
|
|
|
// Jasmine stuff
|
|
|
|
var jasmineEnv = jasmine.getEnv();
|
|
|
|
if (/PhantomJS/.test(navigator.userAgent)) {
|
|
|
|
jasmineEnv.addReporter(new jasmine.TrivialReporter());
|
|
|
|
jasmineEnv.addReporter(new jasmine.JUnitXmlReporter('./test-reports/'));
|
|
|
|
jasmineEnv.addReporter(new jasmine.ConsoleReporter());
|
|
|
|
jasmineEnv.updateInterval = 0;
|
|
|
|
} else {
|
|
|
|
var htmlReporter = new jasmine.HtmlReporter();
|
|
|
|
jasmineEnv.addReporter(htmlReporter);
|
|
|
|
jasmineEnv.addReporter(new jasmine.ConsoleReporter());
|
|
|
|
jasmineEnv.specFilter = function(spec) {
|
|
|
|
return htmlReporter.specFilter(spec);
|
|
|
|
};
|
2013-11-02 12:37:38 +01:00
|
|
|
jasmineEnv.updateInterval = 100;
|
2013-08-24 03:10:06 +02:00
|
|
|
}
|
|
|
|
jasmineEnv.execute();
|
|
|
|
});
|
2013-08-05 09:25:29 +02:00
|
|
|
});
|
2013-07-27 10:51:55 +02:00
|
|
|
}
|
2013-08-05 09:25:29 +02:00
|
|
|
);
|