comparison src/testdir/test_json.vim @ 15607:2dcaa860e3fc v8.1.0811

patch 8.1.0811: too many #ifdefs commit https://github.com/vim/vim/commit/30276f2beb248557c6b33cd5418bca8b7084b0a5 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 24 17:59:39 2019 +0100 patch 8.1.0811: too many #ifdefs Problem: Too many #ifdefs. Solution: Graduate FEAT_MBYTE, the final chapter.
author Bram Moolenaar <Bram@vim.org>
date Thu, 24 Jan 2019 18:00:07 +0100
parents 8ac454818352
children a2c598cbe220
comparison
equal deleted inserted replaced
15606:50e09796a00a 15607:2dcaa860e3fc
1 " Test for JSON functions. 1 " Test for JSON functions.
2
3 " JSON requires using utf-8, because conversion breaks the asserts.
4 if !has('multi_byte')
5 finish
6 endif
7 2
8 let s:json1 = '"str\"in\\g"' 3 let s:json1 = '"str\"in\\g"'
9 let s:var1 = "str\"in\\g" 4 let s:var1 = "str\"in\\g"
10 let s:json2 = '"\u0001\u0002\u0003\u0004\u0005\u0006\u0007"' 5 let s:json2 = '"\u0001\u0002\u0003\u0004\u0005\u0006\u0007"'
11 let s:var2 = "\x01\x02\x03\x04\x05\x06\x07" 6 let s:var2 = "\x01\x02\x03\x04\x05\x06\x07"
77 call assert_equal(s:json2, json_encode(s:var2)) 72 call assert_equal(s:json2, json_encode(s:var2))
78 call assert_equal(s:json3, json_encode(s:var3)) 73 call assert_equal(s:json3, json_encode(s:var3))
79 call assert_equal(s:json4, json_encode(s:var4)) 74 call assert_equal(s:json4, json_encode(s:var4))
80 call assert_equal(s:json5, json_encode(s:var5)) 75 call assert_equal(s:json5, json_encode(s:var5))
81 76
82 if has('multi_byte') 77 call assert_equal(s:jsonmb, json_encode(s:varmb))
83 call assert_equal(s:jsonmb, json_encode(s:varmb)) 78 " no test for surrogate pair, json_encode() doesn't create them.
84 " no test for surrogate pair, json_encode() doesn't create them.
85 endif
86 79
87 call assert_equal(s:jsonnr, json_encode(s:varnr)) 80 call assert_equal(s:jsonnr, json_encode(s:varnr))
88 if has('float') 81 if has('float')
89 call assert_equal(s:jsonfl, json_encode(s:varfl)) 82 call assert_equal(s:jsonfl, json_encode(s:varfl))
90 call assert_equal(s:jsonneginf, json_encode(s:varneginf)) 83 call assert_equal(s:jsonneginf, json_encode(s:varneginf))
119 call assert_equal(s:var2, json_decode(s:json2)) 112 call assert_equal(s:var2, json_decode(s:json2))
120 call assert_equal(s:var3, json_decode(s:json3)) 113 call assert_equal(s:var3, json_decode(s:json3))
121 call assert_equal(s:var4, json_decode(s:json4)) 114 call assert_equal(s:var4, json_decode(s:json4))
122 call assert_equal(s:var5, json_decode(s:json5)) 115 call assert_equal(s:var5, json_decode(s:json5))
123 116
124 if has('multi_byte') 117 call assert_equal(s:varmb, json_decode(s:jsonmb))
125 call assert_equal(s:varmb, json_decode(s:jsonmb)) 118 call assert_equal(s:varsp1, json_decode(s:jsonsp1))
126 call assert_equal(s:varsp1, json_decode(s:jsonsp1)) 119 call assert_equal(s:varsp2, json_decode(s:jsonsp2))
127 call assert_equal(s:varsp2, json_decode(s:jsonsp2))
128 endif
129 120
130 call assert_equal(s:varnr, json_decode(s:jsonnr)) 121 call assert_equal(s:varnr, json_decode(s:jsonnr))
131 if has('float') 122 if has('float')
132 call assert_equal(s:varfl, json_decode(s:jsonfl)) 123 call assert_equal(s:varfl, json_decode(s:jsonfl))
133 endif 124 endif
195 call assert_equal(s:json2, js_encode(s:var2)) 186 call assert_equal(s:json2, js_encode(s:var2))
196 call assert_equal(s:json3, js_encode(s:var3)) 187 call assert_equal(s:json3, js_encode(s:var3))
197 call assert_equal(s:json4, js_encode(s:var4)) 188 call assert_equal(s:json4, js_encode(s:var4))
198 call assert_equal(s:json5, js_encode(s:var5)) 189 call assert_equal(s:json5, js_encode(s:var5))
199 190
200 if has('multi_byte') 191 call assert_equal(s:jsonmb, js_encode(s:varmb))
201 call assert_equal(s:jsonmb, js_encode(s:varmb)) 192 " no test for surrogate pair, js_encode() doesn't create them.
202 " no test for surrogate pair, js_encode() doesn't create them.
203 endif
204 193
205 call assert_equal(s:jsonnr, js_encode(s:varnr)) 194 call assert_equal(s:jsonnr, js_encode(s:varnr))
206 if has('float') 195 if has('float')
207 call assert_equal(s:jsonfl, js_encode(s:varfl)) 196 call assert_equal(s:jsonfl, js_encode(s:varfl))
208 call assert_equal(s:jsonneginf, js_encode(s:varneginf)) 197 call assert_equal(s:jsonneginf, js_encode(s:varneginf))
235 call assert_equal(s:var2, js_decode(s:json2)) 224 call assert_equal(s:var2, js_decode(s:json2))
236 call assert_equal(s:var3, js_decode(s:json3)) 225 call assert_equal(s:var3, js_decode(s:json3))
237 call assert_equal(s:var4, js_decode(s:json4)) 226 call assert_equal(s:var4, js_decode(s:json4))
238 call assert_equal(s:var5, js_decode(s:json5)) 227 call assert_equal(s:var5, js_decode(s:json5))
239 228
240 if has('multi_byte') 229 call assert_equal(s:varmb, js_decode(s:jsonmb))
241 call assert_equal(s:varmb, js_decode(s:jsonmb)) 230 call assert_equal(s:varsp1, js_decode(s:jsonsp1))
242 call assert_equal(s:varsp1, js_decode(s:jsonsp1)) 231 call assert_equal(s:varsp2, js_decode(s:jsonsp2))
243 call assert_equal(s:varsp2, js_decode(s:jsonsp2))
244 endif
245 232
246 call assert_equal(s:varnr, js_decode(s:jsonnr)) 233 call assert_equal(s:varnr, js_decode(s:jsonnr))
247 if has('float') 234 if has('float')
248 call assert_equal(s:varfl, js_decode(s:jsonfl)) 235 call assert_equal(s:varfl, js_decode(s:jsonfl))
249 call assert_equal(s:varneginf, js_decode(s:jsonneginf)) 236 call assert_equal(s:varneginf, js_decode(s:jsonneginf))