-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtests.js
60 lines (52 loc) · 2.06 KB
/
tests.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
60
var unlike = require('./index.js');
//-----------------------------------------
exports.testBasic = function(test){
test.ok(!unlike(5,7));
test.ok(!unlike("a$","bcf1"));
test.ok(!unlike(null,null));
test.ok(!unlike({},{}));
test.ok(!unlike([],[]));
var diff = unlike([],{});
test.deepEqual(diff,{ key: undefined, input: 'array', example: 'object' });
test.done();
};
//-----------------------------------------
exports.testArray = function(test){
test.ok(!unlike(["a",1,"d"],[]));
test.ok(!unlike(["a","c","d"],["koko"]));
var diff = unlike(["a",3,"d"],["koko"]);
test.deepEqual(diff,{ input: 'number', example: 'string', index: 1 });
test.done();
};
//-----------------------------------------
exports.testArrayNested = function(test){
var diff = unlike([{current_value: null}],[{current_value:2.0}]);
test.deepEqual(diff,{"0" :{"input":"object","example":"number","key":"current_value"}});
test.done();
};
//-----------------------------------------
exports.testObject = function(test){
var diff = unlike({current_value: null},{current_value:2.0});
test.deepEqual(diff,{"input":"object","example":"number","key":"current_value"});
test.ok(!unlike(null,{current_value:2.0}));
test.ok(!unlike({current_value: null},null));
test.ok(!unlike({a:null},{a:{b:1}}));
test.ok(!unlike({a:{c:5}},{a:null}));
test.done();
};
//-----------------------------------------
exports.testNullAllowed = function(test){
test.ok(!unlike(null,7,{nullAllowed:true}));
test.ok(!unlike({current_value: null},{current_value:2.0},{nullAllowed:true}));
test.done();
};
//-----------------------------------------
exports.testUndefinedLikeEmptyArray = function(test){
var dummy = {};
test.ok(!unlike(dummy.a,[],{undefinedLikeEmptyArray:true}));
test.ok(!unlike(dummy.b,[1,2,3],{undefinedLikeEmptyArray:true}));
test.ok(!unlike({},{a:[]},{undefinedLikeEmptyArray:true}));
test.ok(!unlike({},{a:[1,2]},{undefinedLikeEmptyArray:true}));
test.done();
};
//-----------------------------------------