Mercurial > vim
comparison src/testdir/test_json.vim @ 23891:650070143c56 v8.2.2488
patch 8.2.2488: json_encode() gives generic argument error
Commit: https://github.com/vim/vim/commit/a853089479b60b829bab1c4a0a737a073415f8a7
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Feb 8 21:53:09 2021 +0100
patch 8.2.2488: json_encode() gives generic argument error
Problem: json_encode() gives generic argument error.
Solution: Mention the type that can't be encoded. (issue https://github.com/vim/vim/issues/7802)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 08 Feb 2021 22:00:03 +0100 |
parents | 4fba373b59da |
children | 0860b12c5788 |
comparison
equal
deleted
inserted
replaced
23890:57c71d51e937 | 23891:650070143c56 |
---|---|
105 let save_encoding = &encoding | 105 let save_encoding = &encoding |
106 set encoding=latin1 | 106 set encoding=latin1 |
107 call assert_equal('"café"', json_encode("caf\xe9")) | 107 call assert_equal('"café"', json_encode("caf\xe9")) |
108 let &encoding = save_encoding | 108 let &encoding = save_encoding |
109 | 109 |
110 call assert_fails('echo json_encode(function("tr"))', 'E474:') | 110 call assert_fails('echo json_encode(function("tr"))', 'E1161: Cannot json encode a func') |
111 call assert_fails('echo json_encode([function("tr")])', 'E474:') | 111 call assert_fails('echo json_encode([function("tr")])', 'E1161: Cannot json encode a func') |
112 | 112 |
113 call assert_equal('{"a":""}', json_encode({'a': test_null_string()})) | 113 call assert_equal('{"a":""}', json_encode({'a': test_null_string()})) |
114 call assert_equal('{"a":[]}', json_encode({"a": test_null_list()})) | 114 call assert_equal('{"a":[]}', json_encode({"a": test_null_list()})) |
115 call assert_equal('{"a":{}}', json_encode({"a": test_null_dict()})) | 115 call assert_equal('{"a":{}}', json_encode({"a": test_null_dict()})) |
116 | 116 |
244 call assert_equal(s:jsd4, js_encode(s:vard4)) | 244 call assert_equal(s:jsd4, js_encode(s:vard4)) |
245 call assert_equal(s:jsd5, js_encode(s:vard5)) | 245 call assert_equal(s:jsd5, js_encode(s:vard5)) |
246 | 246 |
247 call assert_equal(s:jsonvals, js_encode(s:varvals)) | 247 call assert_equal(s:jsonvals, js_encode(s:varvals)) |
248 | 248 |
249 call assert_fails('echo js_encode(function("tr"))', 'E474:') | 249 call assert_fails('echo js_encode(function("tr"))', 'E1161: Cannot json encode a func') |
250 call assert_fails('echo js_encode([function("tr")])', 'E474:') | 250 call assert_fails('echo js_encode([function("tr")])', 'E1161: Cannot json encode a func') |
251 | 251 |
252 silent! let res = js_encode(function("tr")) | 252 silent! let res = js_encode(function("tr")) |
253 call assert_equal("", res) | 253 call assert_equal("", res) |
254 | 254 |
255 call assert_equal(s:jsl5, js_encode(s:varl5)) | 255 call assert_equal(s:jsl5, js_encode(s:varl5)) |