patch 8.0.1391: encoding empty string to JSON sometimes gives "null"
Problem: Encoding empty string to JSON sometimes gives "null".
Solution: Handle NULL string as empty string. (closes #2446)
diff --git a/src/testdir/test_json.vim b/src/testdir/test_json.vim
index 6c3d16c..acd2ea8 100644
--- a/src/testdir/test_json.vim
+++ b/src/testdir/test_json.vim
@@ -103,6 +103,10 @@
call assert_fails('echo json_encode(function("tr"))', 'E474:')
call assert_fails('echo json_encode([function("tr")])', 'E474:')
+ call assert_equal('{"a":""}', json_encode({'a': test_null_string()}))
+ call assert_equal('{"a":[]}', json_encode({"a": test_null_list()}))
+ call assert_equal('{"a":{}}', json_encode({"a": test_null_dict()}))
+
silent! let res = json_encode(function("tr"))
call assert_equal("", res)
endfunc