diff options
Diffstat (limited to 'test/unit/eval/decode_spec.lua')
-rw-r--r-- | test/unit/eval/decode_spec.lua | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/test/unit/eval/decode_spec.lua b/test/unit/eval/decode_spec.lua index 0c444b33f2..5a8374a2a6 100644 --- a/test/unit/eval/decode_spec.lua +++ b/test/unit/eval/decode_spec.lua @@ -6,9 +6,13 @@ local eq = helpers.eq local neq = helpers.neq local ffi = helpers.ffi -local decode = cimport('./src/nvim/eval/decode.h', './src/nvim/eval/typval.h', - './src/nvim/globals.h', './src/nvim/memory.h', - './src/nvim/message.h') +local decode = cimport( + './src/nvim/eval/decode.h', + './src/nvim/eval/typval.h', + './src/nvim/globals.h', + './src/nvim/memory.h', + './src/nvim/message.h' +) describe('json_decode_string()', function() local char = function(c) @@ -16,7 +20,7 @@ describe('json_decode_string()', function() end itp('does not overflow when running with `n…`, `t…`, `f…`', function() - local rettv = ffi.new('typval_T', {v_type=decode.VAR_UNKNOWN}) + local rettv = ffi.new('typval_T', { v_type = decode.VAR_UNKNOWN }) decode.emsg_silent = 1 -- This will not crash, but if `len` argument will be ignored it will parse -- `null` as `null` and if not it will parse `null` as `n`. @@ -43,7 +47,7 @@ describe('json_decode_string()', function() end) itp('does not overflow and crash when running with `n`, `t`, `f`', function() - local rettv = ffi.new('typval_T', {v_type=decode.VAR_UNKNOWN}) + local rettv = ffi.new('typval_T', { v_type = decode.VAR_UNKNOWN }) decode.emsg_silent = 1 eq(0, decode.json_decode_string(char('n'), 1, rettv)) eq(decode.VAR_UNKNOWN, rettv.v_type) @@ -54,7 +58,7 @@ describe('json_decode_string()', function() end) itp('does not overflow when running with `"…`', function() - local rettv = ffi.new('typval_T', {v_type=decode.VAR_UNKNOWN}) + local rettv = ffi.new('typval_T', { v_type = decode.VAR_UNKNOWN }) decode.emsg_silent = 1 eq(0, decode.json_decode_string('"t"', 2, rettv)) eq(decode.VAR_UNKNOWN, rettv.v_type) @@ -63,7 +67,7 @@ describe('json_decode_string()', function() end) local check_failure = function(s, len, msg) - local rettv = ffi.new('typval_T', {v_type=decode.VAR_UNKNOWN}) + local rettv = ffi.new('typval_T', { v_type = decode.VAR_UNKNOWN }) eq(0, decode.json_decode_string(s, len, rettv)) eq(decode.VAR_UNKNOWN, rettv.v_type) neq(nil, decode.last_msg_hist) @@ -74,8 +78,7 @@ describe('json_decode_string()', function() collectgarbage('restart') check_failure(']test', 1, 'E474: No container to close: ]') check_failure('[}test', 2, 'E474: Closing list with curly bracket: }') - check_failure('{]test', 2, - 'E474: Closing dictionary with square bracket: ]') + check_failure('{]test', 2, 'E474: Closing dictionary with square bracket: ]') check_failure('[1,]test', 4, 'E474: Trailing comma: ]') check_failure('{"1":}test', 6, 'E474: Expected value after colon: }') check_failure('{"1"}test', 5, 'E474: Expected value: }') @@ -93,16 +96,20 @@ describe('json_decode_string()', function() check_failure('ttest', 1, 'E474: Expected true: t') check_failure('ftest', 1, 'E474: Expected false: f') check_failure('"\\test', 2, 'E474: Unfinished escape sequence: "\\') - check_failure('"\\u"test', 4, - 'E474: Unfinished unicode escape sequence: "\\u"') - check_failure('"\\uXXXX"est', 8, - 'E474: Expected four hex digits after \\u: \\uXXXX"') + check_failure('"\\u"test', 4, 'E474: Unfinished unicode escape sequence: "\\u"') + check_failure('"\\uXXXX"est', 8, 'E474: Expected four hex digits after \\u: \\uXXXX"') check_failure('"\\?"test', 4, 'E474: Unknown escape sequence: \\?"') check_failure( - '"\t"test', 3, - 'E474: ASCII control characters cannot be present inside string: \t"') + '"\t"test', + 3, + 'E474: ASCII control characters cannot be present inside string: \t"' + ) check_failure('"\194"test', 3, 'E474: Only UTF-8 strings allowed: \194"') - check_failure('"\252\144\128\128\128\128"test', 8, 'E474: Only UTF-8 code points up to U+10FFFF are allowed to appear unescaped: \252\144\128\128\128\128"') + check_failure( + '"\252\144\128\128\128\128"test', + 8, + 'E474: Only UTF-8 code points up to U+10FFFF are allowed to appear unescaped: \252\144\128\128\128\128"' + ) check_failure('"test', 1, 'E474: Expected string end: "') check_failure('-test', 1, 'E474: Missing number after minus sign: -') check_failure('-1.test', 3, 'E474: Missing number after decimal dot: -1.') @@ -117,7 +124,7 @@ describe('json_decode_string()', function() end) itp('does not overflow and crash when running with `"`', function() - local rettv = ffi.new('typval_T', {v_type=decode.VAR_UNKNOWN}) + local rettv = ffi.new('typval_T', { v_type = decode.VAR_UNKNOWN }) decode.emsg_silent = 1 eq(0, decode.json_decode_string(char('"'), 1, rettv)) eq(decode.VAR_UNKNOWN, rettv.v_type) |