diff options
author | ZyX <kp-pav@yandex.ru> | 2017-10-16 00:07:32 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-10-16 00:07:32 +0300 |
commit | 1a3635304b80b48625bcd9d48f4f38778b42e4af (patch) | |
tree | c20a21c26e04c5ac615414760efc8bd0d49ee691 /test/unit | |
parent | 2cb95bd9378d3c45f2eea527683546825e16f7d3 (diff) | |
download | rneovim-1a3635304b80b48625bcd9d48f4f38778b42e4af.tar.gz rneovim-1a3635304b80b48625bcd9d48f4f38778b42e4af.tar.bz2 rneovim-1a3635304b80b48625bcd9d48f4f38778b42e4af.zip |
charset: Avoid overflow in vim_str2nr
Diffstat (limited to 'test/unit')
-rw-r--r-- | test/unit/viml/expressions/lexer_spec.lua | 3 | ||||
-rw-r--r-- | test/unit/viml/expressions/parser_spec.lua | 10 |
2 files changed, 11 insertions, 2 deletions
diff --git a/test/unit/viml/expressions/lexer_spec.lua b/test/unit/viml/expressions/lexer_spec.lua index 674b1b37db..5910468017 100644 --- a/test/unit/viml/expressions/lexer_spec.lua +++ b/test/unit/viml/expressions/lexer_spec.lua @@ -292,6 +292,9 @@ describe('Expressions lexer', function() simple_test({'0b102'}, 'Number', 4, {data={is_float=false, base=2, val=2}, str='0b10'}) simple_test({'10F'}, 'Number', 2, {data={is_float=false, base=10, val=10}, str='10'}) simple_test({'0x0123456789ABCDEFG'}, 'Number', 18, {data={is_float=false, base=16, val=81985529216486895}, str='0x0123456789ABCDEF'}) + simple_test({{data='00', size=2}}, 'Number', 2, {data={is_float=false, base=8, val=0}, str='00'}) + simple_test({{data='009', size=2}}, 'Number', 2, {data={is_float=false, base=8, val=0}, str='00'}) + simple_test({{data='01', size=1}}, 'Number', 1, {data={is_float=false, base=10, val=0}, str='0'}) end local function regular_scope_tests() diff --git a/test/unit/viml/expressions/parser_spec.lua b/test/unit/viml/expressions/parser_spec.lua index 22263af8e2..36af875bd2 100644 --- a/test/unit/viml/expressions/parser_spec.lua +++ b/test/unit/viml/expressions/parser_spec.lua @@ -6867,13 +6867,19 @@ describe('Expressions parser', function() }, }, { }) - check_parsing('0', 0, { - -- 0 + check_parsing({data='01', size=1}, 0, { ast = { 'Integer(val=0):0:0:0', }, }, { hl('Number', '0'), }) + check_parsing({data='001', size=2}, 0, { + ast = { + 'Integer(val=0):0:0:00', + }, + }, { + hl('Number', '00'), + }) end) end) |