Mercurial > vim
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)) |