aboutsummaryrefslogtreecommitdiff
path: root/test/functional
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/eval/json_functions_spec.lua12
-rw-r--r--test/functional/eval/msgpack_functions_spec.lua14
-rw-r--r--test/functional/eval/string_spec.lua12
3 files changed, 38 insertions, 0 deletions
diff --git a/test/functional/eval/json_functions_spec.lua b/test/functional/eval/json_functions_spec.lua
index b788c2cf07..0a7c4cf669 100644
--- a/test/functional/eval/json_functions_spec.lua
+++ b/test/functional/eval/json_functions_spec.lua
@@ -784,4 +784,16 @@ describe('json_encode() function', function()
eq([["\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000B\f\r\u000E\u000F\u0010\u0011\u0012\u0013"]],
eval('json_encode({"_TYPE": v:msgpack_types.string, "_VAL": ["\n\1\2\3\4\5\6\7\8\9", "\11\12\13\14\15\16\17\18\19"]})'))
end)
+
+ it('can dump NULL string', function()
+ eq('""', eval('json_encode($XXX_UNEXISTENT_VAR_XXX)'))
+ end)
+
+ it('can dump NULL list', function()
+ eq('[]', eval('json_encode(v:_null_list)'))
+ end)
+
+ it('can dump NULL dictionary', function()
+ eq('{}', eval('json_encode(v:_null_dict)'))
+ end)
end)
diff --git a/test/functional/eval/msgpack_functions_spec.lua b/test/functional/eval/msgpack_functions_spec.lua
index a602bad86f..9e501353a5 100644
--- a/test/functional/eval/msgpack_functions_spec.lua
+++ b/test/functional/eval/msgpack_functions_spec.lua
@@ -686,4 +686,18 @@ describe('msgpackdump() function', function()
exc_exec('call msgpackdump(' .. val .. ')'))
end
end)
+
+ it('can dump NULL string', function()
+ eq({'\196\n'}, eval('msgpackdump([$XXX_UNEXISTENT_VAR_XXX])'))
+ eq({'\196\n'}, eval('msgpackdump([{"_TYPE": v:msgpack_types.binary, "_VAL": [$XXX_UNEXISTENT_VAR_XXX]}])'))
+ eq({'\160'}, eval('msgpackdump([{"_TYPE": v:msgpack_types.string, "_VAL": [$XXX_UNEXISTENT_VAR_XXX]}])'))
+ end)
+
+ it('can dump NULL list', function()
+ eq({'\144'}, eval('msgpackdump([v:_null_list])'))
+ end)
+
+ it('can dump NULL dictionary', function()
+ eq({'\128'}, eval('msgpackdump([v:_null_dict])'))
+ end)
end)
diff --git a/test/functional/eval/string_spec.lua b/test/functional/eval/string_spec.lua
index 0c4ff87231..20a800cde0 100644
--- a/test/functional/eval/string_spec.lua
+++ b/test/functional/eval/string_spec.lua
@@ -84,6 +84,18 @@ describe('string() function', function()
eq('\'\'\'b\'\'\'\'d\'', funcs.string('\'b\'\'d'))
eq('\'a\'\'b\'\'c\'\'d\'', funcs.string('a\'b\'c\'d'))
end)
+
+ it('dumps NULL strings', function()
+ eq('\'\'', eval('string($XXX_UNEXISTENT_VAR_XXX)'))
+ end)
+
+ it('dumps NULL lists', function()
+ eq('[]', eval('string(v:_null_list)'))
+ end)
+
+ it('dumps NULL dictionaries', function()
+ eq('{}', eval('string(v:_null_dict)'))
+ end)
end)
describe('used to represent funcrefs', function()