-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathto-json.test.js
91 lines (76 loc) · 2.03 KB
/
to-json.test.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
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
let jsedn = require('jsedn')
let {toJson} = require('./to-json')
test('handle empty map' , () => {
let edn = '{}'
let jsonData = {}
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle simple map with keyword' , () => {
let edn = '{:a 1}'
let jsonData = {a: 1}
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle simple map' , () => {
let edn = '{"a" 1}'
let jsonData = {a: 1}
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle empty vector' , () => {
let edn = '[]'
let jsonData = []
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle a simple vector' , () => {
let edn = '[1]'
let jsonData = [1]
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('throw error for a symbol' , () => {
let edn = "'a"
let jsonData = 'a'
expect(() => {
let ednData = jsedn.parse(edn)
toJson(ednData)
}).toThrow()
})
test('handle nested data', () => {
let edn = '{:sessions {:id "xx" :count 1 :data [1 "2" :3] }}'
let jsonData = {sessions: {id: 'xx', count: 1, data: [1, "2", "3"]}}
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle empty set', () => {
let edn = '#{}'
let jsonData = []
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle simple set', () => {
let edn = '#{1 2}'
let jsonData = [1, 2]
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle nil', () => {
let edn = 'nil'
let jsonData = null
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle boolean', () => {
let edn = '[true false]'
let jsonData = [true, false]
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})
test('handle list', () => {
let edn = '(1 2)'
let jsonData = [1, 2]
let ednData = jsedn.parse(edn)
expect(toJson(ednData)).toEqual(jsonData)
})