aboutsummaryrefslogtreecommitdiff
path: root/test/unit/viml/expressions/lexer_spec.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-10-03 00:39:40 +0300
committerZyX <kp-pav@yandex.ru>2017-10-15 19:13:50 +0300
commit0bc4e2237960712426da3774c1430f5874c49aea (patch)
treeda09c83263afd905f6167f9a957b298b0bdd6cfe /test/unit/viml/expressions/lexer_spec.lua
parent6168e1127c1c80a3810854649b0776146545043b (diff)
downloadrneovim-0bc4e2237960712426da3774c1430f5874c49aea.tar.gz
rneovim-0bc4e2237960712426da3774c1430f5874c49aea.tar.bz2
rneovim-0bc4e2237960712426da3774c1430f5874c49aea.zip
viml/parser/expressions: Forbid dot or alpha characters after a float
This is basically what Vim already does, in addition to forbidding floats should there be a concat immediately before it.
Diffstat (limited to 'test/unit/viml/expressions/lexer_spec.lua')
-rw-r--r--test/unit/viml/expressions/lexer_spec.lua21
1 files changed, 9 insertions, 12 deletions
diff --git a/test/unit/viml/expressions/lexer_spec.lua b/test/unit/viml/expressions/lexer_spec.lua
index d201d54526..bd8045632e 100644
--- a/test/unit/viml/expressions/lexer_spec.lua
+++ b/test/unit/viml/expressions/lexer_spec.lua
@@ -264,6 +264,15 @@ describe('Expressions lexer', function()
simple_test({''}, 'EOC', 0, {error='start.col >= #pstr'})
simple_test({'2.'}, 'Number', 1, {data={is_float=false}, str='2'})
simple_test({'2.x'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.2.'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0x'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0e'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0e+'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0e-'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0e+x'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0e-x'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0e+1a'}, 'Number', 1, {data={is_float=false}, str='2'})
+ simple_test({'2.0e-1a'}, 'Number', 1, {data={is_float=false}, str='2'})
end
local function regular_scope_tests()
@@ -296,12 +305,6 @@ describe('Expressions lexer', function()
local function regular_number_tests()
simple_test({'2.0'}, 'Number', 1, {data={is_float=false}, str='2'})
- simple_test({'2.0x'}, 'Number', 1, {data={is_float=false}, str='2'})
- simple_test({'2.0e'}, 'Number', 1, {data={is_float=false}, str='2'})
- simple_test({'2.0e+'}, 'Number', 1, {data={is_float=false}, str='2'})
- simple_test({'2.0e-'}, 'Number', 1, {data={is_float=false}, str='2'})
- simple_test({'2.0e+x'}, 'Number', 1, {data={is_float=false}, str='2'})
- simple_test({'2.0e-x'}, 'Number', 1, {data={is_float=false}, str='2'})
simple_test({'2.0e5'}, 'Number', 1, {data={is_float=false}, str='2'})
simple_test({'2.0e+5'}, 'Number', 1, {data={is_float=false}, str='2'})
simple_test({'2.0e-5'}, 'Number', 1, {data={is_float=false}, str='2'})
@@ -350,12 +353,6 @@ describe('Expressions lexer', function()
regular_is_tests()
simple_test({'2.0'}, 'Number', 3, {data={is_float=true}, str='2.0'})
- simple_test({'2.0x'}, 'Number', 3, {data={is_float=true}, str='2.0'})
- simple_test({'2.0e'}, 'Number', 3, {data={is_float=true}, str='2.0'})
- simple_test({'2.0e+'}, 'Number', 3, {data={is_float=true}, str='2.0'})
- simple_test({'2.0e-'}, 'Number', 3, {data={is_float=true}, str='2.0'})
- simple_test({'2.0e+x'}, 'Number', 3, {data={is_float=true}, str='2.0'})
- simple_test({'2.0e-x'}, 'Number', 3, {data={is_float=true}, str='2.0'})
simple_test({'2.0e5'}, 'Number', 5, {data={is_float=true}, str='2.0e5'})
simple_test({'2.0e+5'}, 'Number', 6, {data={is_float=true}, str='2.0e+5'})
simple_test({'2.0e-5'}, 'Number', 6, {data={is_float=true}, str='2.0e-5'})