-
Notifications
You must be signed in to change notification settings - Fork 380
/
adapters.js
59 lines (59 loc) · 2.08 KB
/
adapters.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
50
51
52
53
54
55
56
57
58
59
/*funcunit@3.4.1#browser/adapters/adapters*/
define(function (require, exports, module) {
(function (global) {
var jasmineAdapter = require('./jasmine');
var jasmine2Adapter = require('./jasmine2');
var qunitAdapter = require('./qunit');
var qunit2Adapter = require('./qunit2');
var mochaAdapter = require('./mocha');
var FuncUnit = require('../core');
var noop = function () {
};
var defaultAdapter = {
pauseTest: noop,
resumeTest: noop,
assertOK: noop,
equiv: function (expected, actual) {
return expected == actual;
}
};
FuncUnit.unit = defaultAdapter;
FuncUnit.attach = function (runner) {
var unit;
if (isQUnit(runner)) {
unit = qunitAdapter(runner);
} else if (isQUnit2(runner)) {
unit = qunit2Adapter(runner);
} else if (isMocha(runner)) {
unit = mochaAdapter(runner);
} else if (isJasmine(runner)) {
unit = jasmineAdapter(runner);
} else if (isJasmine2(runner)) {
unit = jasmine2Adapter(runner);
} else {
unit = defaultAdapter;
}
FuncUnit.unit = unit;
};
function isQUnit(runner) {
return !!(runner.ok && runner.start && runner.stop);
}
function isQUnit2(runner) {
return !!(runner.assert && runner.assert.ok && runner.assert.async);
}
function isMocha(runner) {
return !!(runner.setup && runner.globals && runner.reporter);
}
function isJasmine(runner) {
return !!(runner.getEnv && typeof window.waitsFor === 'function');
}
function isJasmine2(runner) {
return !!(runner.getEnv && typeof runner.clock === 'function' && !window.waitsFor);
}
FuncUnit.detach = function () {
FuncUnit.unit = defaultAdapter;
};
}(function () {
return this;
}()));
});