230 lines
10 KiB
JavaScript
230 lines
10 KiB
JavaScript
var config = {
|
|
baseUrl: '../',
|
|
paths: {
|
|
"console-reporter": "tests/console-reporter",
|
|
|
|
"IPv6": "node_modules/urijs/src/IPv6",
|
|
"SecondLevelDomains": "node_modules/urijs/src/SecondLevelDomains",
|
|
"almond": "node_modules/almond/almond",
|
|
"awesomplete": "node_modules/awesomplete-avoid-xss/awesomplete",
|
|
"babel": "node_modules/requirejs-babel/babel-5.8.34.min",
|
|
"backbone": "node_modules/backbone/backbone",
|
|
"backbone.browserStorage": "node_modules/backbone.browserStorage/backbone.browserStorage",
|
|
"backbone.nativeview": "node_modules/backbone.nativeview/backbone.nativeview",
|
|
"backbone.noconflict": "src/backbone.noconflict",
|
|
"backbone.orderedlistview": "node_modules/backbone.overview/dist/backbone.orderedlistview",
|
|
"backbone.overview": "node_modules/backbone.overview/dist/backbone.overview",
|
|
"backbone.vdomview": "node_modules/backbone.vdomview/dist/backbone.vdomview",
|
|
"bootstrap": "node_modules/bootstrap.native/dist/bootstrap-native-v4",
|
|
"emojione": "node_modules/emojione/lib/js/emojione",
|
|
"es6-promise": "node_modules/es6-promise/dist/es6-promise.auto",
|
|
"eventemitter": "node_modules/otr/build/dep/eventemitter",
|
|
"filesize": "node_modules/filesize/lib/filesize",
|
|
"form-utils": "src/utils/form",
|
|
"i18n": "src/i18n",
|
|
"jed": "node_modules/jed/jed",
|
|
"jquery": "src/jquery-stub",
|
|
"lodash": "node_modules/lodash/lodash",
|
|
"lodash.converter": "3rdparty/lodash.fp",
|
|
"lodash.fp": "src/lodash.fp",
|
|
"lodash.noconflict": "node_modules/@converse/headless/lodash.noconflict",
|
|
"message-utils": "src/utils/message",
|
|
"muc-utils": "src/utils/muc",
|
|
"pluggable": "node_modules/pluggable.js/dist/pluggable",
|
|
"polyfill": "src/polyfill",
|
|
"punycode": "node_modules/urijs/src/punycode",
|
|
"sizzle": "node_modules/sizzle/dist/sizzle",
|
|
"snabbdom": "node_modules/snabbdom/dist/snabbdom",
|
|
"snabbdom-attributes": "node_modules/snabbdom/dist/snabbdom-attributes",
|
|
"snabbdom-class": "node_modules/snabbdom/dist/snabbdom-class",
|
|
"snabbdom-dataset": "node_modules/snabbdom/dist/snabbdom-dataset",
|
|
"snabbdom-eventlisteners": "node_modules/snabbdom/dist/snabbdom-eventlisteners",
|
|
"snabbdom-props": "node_modules/snabbdom/dist/snabbdom-props",
|
|
"snabbdom-style": "node_modules/snabbdom/dist/snabbdom-style",
|
|
"strophe": "node_modules/strophe.js/strophe",
|
|
"strophe.ping": "node_modules/strophejs-plugin-ping/strophe.ping",
|
|
"strophe.rsm": "node_modules/strophejs-plugin-rsm/strophe.rsm",
|
|
"text": "node_modules/text/text",
|
|
"tovnode": "node_modules/snabbdom/dist/tovnode",
|
|
"tpl": "node_modules/lodash-template-loader/loader",
|
|
"underscore": "src/underscore-shim",
|
|
"uri": "node_modules/urijs/src/URI",
|
|
"utils": "src/utils/core",
|
|
"vdom-parser": "node_modules/vdom-parser/dist",
|
|
"xss": "node_modules/xss/dist/xss",
|
|
"xss.noconflict": "src/xss.noconflict",
|
|
|
|
// Converse
|
|
"converse": "src/converse",
|
|
|
|
"converse-bookmarks": "src/converse-bookmarks",
|
|
"converse-chatboxes": "src/converse-chatboxes",
|
|
"converse-caps": "src/converse-caps",
|
|
"converse-chatview": "src/converse-chatview",
|
|
"converse-controlbox": "src/converse-controlbox",
|
|
"converse-core": "src/converse-core",
|
|
"converse-disco": "src/converse-disco",
|
|
"converse-dragresize": "src/converse-dragresize",
|
|
"converse-embedded": "src/converse-embedded",
|
|
"converse-fullscreen": "src/converse-fullscreen",
|
|
"converse-headline": "src/converse-headline",
|
|
"converse-mam": "src/converse-mam",
|
|
"converse-message-view": "src/converse-message-view",
|
|
"converse-minimize": "src/converse-minimize",
|
|
"converse-modal": "src/converse-modal",
|
|
"converse-muc": "src/converse-muc",
|
|
"converse-muc-views": "src/converse-muc-views",
|
|
"converse-notification": "src/converse-notification",
|
|
"converse-otr": "src/converse-otr",
|
|
"converse-ping": "src/converse-ping",
|
|
"converse-profile": "src/converse-profile",
|
|
"converse-register": "src/converse-register",
|
|
"converse-roomslist": "src/converse-roomslist",
|
|
"converse-roster": "src/converse-roster",
|
|
"converse-rosterview": "src/converse-rosterview",
|
|
"converse-singleton": "src/converse-singleton",
|
|
"converse-vcard": "src/converse-vcard",
|
|
|
|
// Off-the-record-encryption
|
|
// "bigint": "node_modules/otr/build/dep/bigint",
|
|
"bigint": "3rdparty/bigint",
|
|
"crypto": "node_modules/otr/build/dep/crypto",
|
|
"salsa20": "node_modules/otr/build/dep/salsa20",
|
|
"otr": "node_modules/otr/build/otr",
|
|
},
|
|
|
|
packages: [{
|
|
'name': 'moment',
|
|
'location': 'node_modules/moment',
|
|
'main': 'moment'
|
|
}],
|
|
|
|
map: {
|
|
// '*' means all modules will get the '*.noconflict' version
|
|
// as their dependency.
|
|
'*': {
|
|
'backbone': 'backbone.noconflict',
|
|
'lodash': 'lodash.noconflict'
|
|
},
|
|
// '*.noconflict' wants the real module
|
|
// If this line was not here, there would
|
|
// be an unresolvable cyclic dependency.
|
|
'backbone.noconflict': { 'backbone': 'backbone' },
|
|
'lodash.noconflict': { 'lodash': 'lodash' }
|
|
},
|
|
|
|
lodashLoader: {
|
|
// Configuration for requirejs-tpl
|
|
// Use Mustache style syntax for variable interpolation
|
|
root: "src/templates/",
|
|
templateSettings: {
|
|
"escape": /\{\{\{([\s\S]+?)\}\}\}/g,
|
|
"evaluate": /\{\[([\s\S]+?)\]\}/g,
|
|
"interpolate": /\{\{([\s\S]+?)\}\}/g,
|
|
// By default, template places the values from your data in the
|
|
// local scope via the with statement. However, you can specify
|
|
// a single variable name with the variable setting. This can
|
|
// significantly improve the speed at which a template is able
|
|
// to render.
|
|
"variable": 'o'
|
|
}
|
|
},
|
|
|
|
// define module dependencies for modules not using define
|
|
shim: {
|
|
'backbone.orderedlistview': { deps: ['backbone.nativeview'] },
|
|
'backbone.overview': { deps: ['backbone.nativeview'] },
|
|
'backbone.vdomview': { deps: ['backbone.nativeview'] },
|
|
'awesomplete': { exports: 'Awesomplete'},
|
|
'emojione': { exports: 'emojione'},
|
|
'xss': {
|
|
'init': function (xss_noconflict) {
|
|
return {
|
|
filterXSS: window.filterXSS,
|
|
filterCSS: window.filterCSS
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// Extra test dependencies
|
|
config.paths.jquery = "node_modules/jquery/dist/jquery";
|
|
config.paths.mock = "tests/mock";
|
|
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";
|
|
config.paths.transcripts = "converse-logs/converse-logs";
|
|
config.paths["jasmine-core"] = "node_modules/jasmine-core/lib/jasmine-core/jasmine";
|
|
config.paths.jasmine = "node_modules/jasmine-core/lib/jasmine-core/boot";
|
|
config.paths["jasmine-console"] = "node_modules/jasmine-core/lib/console/console";
|
|
config.paths["jasmine-html"] = "node_modules/jasmine-core/lib/jasmine-core/jasmine-html";
|
|
config.shim.jasmine = {
|
|
exports: 'window.jasmineRequire'
|
|
};
|
|
config.shim['jasmine-html'] = {
|
|
deps: ['jasmine-core'],
|
|
exports: 'window.jasmineRequire'
|
|
};
|
|
config.shim['jasmine-console'] = {
|
|
deps: ['jasmine-core'],
|
|
exports: 'window.jasmineRequire'
|
|
};
|
|
config.shim.jasmine = {
|
|
deps: ['jasmine-core', 'jasmine-html', 'jasmine-console'],
|
|
exports: 'window.jasmine'
|
|
};
|
|
require.config(config);
|
|
|
|
var specs = [
|
|
"jasmine",
|
|
//"spec/transcripts",
|
|
"spec/spoilers",
|
|
"spec/profiling",
|
|
"spec/utils",
|
|
"spec/converse",
|
|
"spec/bookmarks",
|
|
"spec/roomslist",
|
|
"spec/headline",
|
|
"spec/disco",
|
|
"spec/protocol",
|
|
"spec/presence",
|
|
"spec/eventemitter",
|
|
"spec/ping",
|
|
"spec/push",
|
|
"spec/xmppstatus",
|
|
"spec/mam",
|
|
"spec/omemo",
|
|
"spec/controlbox",
|
|
"spec/roster",
|
|
"spec/chatbox",
|
|
"spec/user-details-modal",
|
|
"spec/messages",
|
|
"spec/chatroom",
|
|
"spec/room_registration",
|
|
"spec/autocomplete",
|
|
"spec/minchats",
|
|
"spec/notification",
|
|
"spec/login",
|
|
"spec/register",
|
|
"spec/http-file-upload"
|
|
];
|
|
|
|
require(['console-reporter', 'mock', 'sinon', 'wait-until-promise', 'pluggable'],
|
|
function(ConsoleReporter, mock, sinon, waitUntilPromise, pluggable) {
|
|
|
|
if (window.view_mode) {
|
|
mock.view_mode = window.view_mode;
|
|
}
|
|
window.sinon = sinon;
|
|
window.waitUntilPromise = waitUntilPromise.default;
|
|
window.localStorage.clear();
|
|
window.sessionStorage.clear();
|
|
// Load the specs
|
|
require(specs, function (jasmine) {
|
|
var jasmineEnv = jasmine.getEnv();
|
|
jasmineEnv.addReporter(new ConsoleReporter());
|
|
window.onload();
|
|
});
|
|
});
|