/
b642obj.test.mjs
93 lines (76 loc) · 2.94 KB
/
b642obj.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
82
83
84
85
86
87
88
89
90
91
92
93
import assert from 'assert'
import b642obj from '../src/b642obj.mjs'
describe(`b642obj`, function() {
it(`should return [1, '3', 'abc'] when input 'WzEsIjMiLCJhYmMiXQ=='`, function() {
let r = b642obj('WzEsIjMiLCJhYmMiXQ==')
let rr = [1, '3', 'abc']
assert.strict.deepStrictEqual(r, rr)
})
it(`should return [1, '', null, null, [], {}, '3', 'abc'] when input 'WzEsIiIsbnVsbCxudWxsLFtdLHt9LCIzIiwiYWJjIl0='`, function() {
//array內undefined轉為base64會成為null
let r = b642obj('WzEsIiIsbnVsbCxudWxsLFtdLHt9LCIzIiwiYWJjIl0=')
let rr = [1, '', null, null, [], {}, '3', 'abc']
assert.strict.deepStrictEqual(r, rr)
})
it(`should return { a: 12.34, b: 'abc' } when input 'eyJhIjoxMi4zNCwiYiI6ImFiYyJ9'`, function() {
let r = b642obj('eyJhIjoxMi4zNCwiYiI6ImFiYyJ9')
let rr = { a: 12.34, b: 'abc' }
assert.strict.deepStrictEqual(r, rr)
})
it(`should return { a: 12.34, b: 'abc', c: '', d: null, f: [], g: {} } when input 'eyJhIjoxMi4zNCwiYiI6ImFiYyIsImMiOiIiLCJkIjpudWxsLCJmIjpbXSwiZyI6e319'`, function() {
//object內值為undefined會連同key都消失
let r = b642obj('eyJhIjoxMi4zNCwiYiI6ImFiYyIsImMiOiIiLCJkIjpudWxsLCJmIjpbXSwiZyI6e319')
let rr = { a: 12.34, b: 'abc', c: '', d: null, f: [], g: {} }
assert.strict.deepStrictEqual(r, rr)
})
it(`should return '' when input 'IiI='`, function() {
let r = b642obj('IiI=')
let rr = ''
assert.strict.deepStrictEqual(r, rr)
})
it(`should return [] when input 'W10='`, function() {
let r = b642obj('W10=')
let rr = []
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input 'e30='`, function() {
let r = b642obj('e30=')
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return null when input 'bnVsbA=='`, function() {
let r = b642obj('bnVsbA==')
let rr = null
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input ''`, function() {
let r = b642obj('')
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input []`, function() {
let r = b642obj([])
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input {}`, function() {
let r = b642obj({})
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input null`, function() {
let r = b642obj(null)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input undefined`, function() {
let r = b642obj(undefined)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
it(`should return {} when input NaN`, function() {
let r = b642obj(NaN)
let rr = {}
assert.strict.deepStrictEqual(r, rr)
})
})