forked from OneJSToolkit/onejs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-main.js
49 lines (40 loc) · 1.25 KB
/
test-main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// PhantomJS doesn't support Function.prototype.bind
if (!Function.prototype.bind) {
var slice = Array.prototype.slice;
Function.prototype.bind = function(context) {
var func = this;
var args = slice.call(arguments, 1);
function bound() {
var calledAsConstructor = func.prototype && (this instanceof func);
return func.apply(
// ignore context when called as a constructor
!calledAsConstructor && context || this,
args.concat(slice.call(arguments))
);
}
bound.prototype = func.prototype;
return bound;
};
}
var allTestFiles = [];
var TEST_REGEXP = /(spec|test)\.js$/i;
var pathToModule = function(path) {
return path.replace(/^\/base\//, '').replace(/\.js$/, '');
};
Object.keys(window.__karma__.files).forEach(function(file) {
if (TEST_REGEXP.test(file)) {
// Normalize paths to RequireJS module names.
allTestFiles.push(pathToModule(file));
}
});
require.config({
// Karma serves files under /base, which is the basePath from your config file
baseUrl: '/base',
paths: {
"chai": "/base/node_modules/chai/chai"
},
// dynamically load all test files
deps: allTestFiles,
// we have to kickoff jasmine, as it is asynchronous
callback: window.__karma__.start
});