forked from Meteor-Community-Packages/meteor-simple-schema
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtinytest-shim.js
59 lines (59 loc) · 1.55 KB
/
tinytest-shim.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
var expect = require("chai").expect;
var test = {
equal: function(actual, expected, msg) {
expect(actual).to.eql(expected, msg);
},
notEqual: function(actual, expected, msg) {
expect(actual).to.not.eql(expected, msg);
},
instanceOf: function(obj, klass) {
expect(obj).to.be.an.instanceof(klass);
},
matches: function(actual, regexp, msg) {
expect(actual).to.match(regexp, msg);
},
notMatches: function(actual, regexp, msg) {
expect(actual).to.not.match(regexp, msg);
},
throws: function(fn, expected) {
expect(fn).to.throw(expected);
},
isTrue: function(actual, msg) {
expect(actual).to.equal(true, msg);
},
isFalse: function(actual, msg) {
expect(actual).to.equal(false, msg);
},
isNull: function(actual, msg) {
expect(actual).to.equal(null, msg);
},
isNotNull: function(actual, msg) {
expect(actual).to.not.equal(null, msg);
},
isUndefined: function(actual, msg) {
expect(actual).to.equal(undefined, msg);
},
isNotUndefined: function(actual, msg) {
expect(actual).to.not.equal(undefined, msg);
},
isNaN: function(actual, msg) {
expect(isNaN(actual)).to.equal(true, msg);
},
isNotNaN: function(actual, msg) {
expect(isNaN(actual)).to.equal(false, msg);
},
length: function(obj, expected_length, msg) {
expect(obj && obj.length).to.equal(expected_length, msg);
},
};
var Tinytest = {
add: function(name, fn) {
describe(name, function() {
var wrapper = function() {
fn(test);
};
it("", wrapper);
});
}
};
module.exports = Tinytest;