/
objSortBy.test.mjs
81 lines (67 loc) · 2.1 KB
/
objSortBy.test.mjs
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import assert from 'assert'
import objSortBy from '../src/objSortBy.mjs'
describe(`objSortBy`, function() {
let obj1 = {
'a': 3,
'b': 2,
'c': 1,
}
// let robj1 = objSortBy(obj1, (v, k) => {
// return v
// })
// console.log(robj1)
// => { c: 1, b: 2, a: 3 }
it(`should return { c: 1, b: 2, a: 3 } when input ${JSON.stringify(obj1)}, (v,k)=>v`, function() {
let r = objSortBy(obj1, (v, k) => v)
let rr = { c: 1, b: 2, a: 3 }
assert.strict.deepStrictEqual(r, rr)
})
let obj2 = {
'x2': 2,
'x1': 1,
'x3': 3,
}
// let robj2 = objSortBy(obj2, (v, k) => {
// return k
// })
// console.log(robj2)
// => { x1: 1, x2: 2, x3: 3 }
it(`should return { x1: 1, x2: 2, x3: 3 } when input ${JSON.stringify(obj2)}, (v,k)=>k`, function() {
let r = objSortBy(obj2, (v, k) => k)
let rr = { x1: 1, x2: 2, x3: 3 }
assert.strict.deepStrictEqual(r, rr)
})
let testFun = () => {
return 0
}
it(`should return '' when input '', testFun`, function() {
let r = objSortBy('', testFun)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return [] when input [], testFun`, function() {
let r = objSortBy([], testFun)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input {}, testFun`, function() {
let r = objSortBy({}, testFun)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return null when input null, testFun`, function() {
let r = objSortBy(null, testFun)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return undefined when input undefined, testFun`, function() {
let r = objSortBy(undefined, testFun)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return undefined when input NaN, testFun`, function() {
let r = objSortBy(NaN, testFun)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
})