aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/eval_spec.lua
diff options
context:
space:
mode:
authorJurica Bradaric <jbradaric@gmail.com>2016-02-27 18:11:39 +0100
committerJurica Bradaric <jbradaric@gmail.com>2016-02-27 18:29:16 +0100
commit11cf3680e4e9c0dd9308d9df60b78ada15a30003 (patch)
tree16a7eca093f85e841092e2b5bae26011f2437da1 /test/functional/legacy/eval_spec.lua
parent3e0fab6b7ca3ece5ffe8cf07cb80f4037c08e3f0 (diff)
downloadrneovim-11cf3680e4e9c0dd9308d9df60b78ada15a30003.tar.gz
rneovim-11cf3680e4e9c0dd9308d9df60b78ada15a30003.tar.bz2
rneovim-11cf3680e4e9c0dd9308d9df60b78ada15a30003.zip
vim-patch:7.4.1105
Problem: When using slices there is a mixup of variable name and namespace. Solution: Recognize variables that can't be a namespace. (Hirohito Higashi) https://github.com/vim/vim/commit/9bbf63dbf8286fadc0cd6b3428010abb67b1b64d
Diffstat (limited to 'test/functional/legacy/eval_spec.lua')
-rw-r--r--test/functional/legacy/eval_spec.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/functional/legacy/eval_spec.lua b/test/functional/legacy/eval_spec.lua
index 1c81b47ed6..9304e3b331 100644
--- a/test/functional/legacy/eval_spec.lua
+++ b/test/functional/legacy/eval_spec.lua
@@ -693,4 +693,22 @@ describe('eval', function()
start:
6]])
end)
+
+ it('substring and variable name', function()
+ execute("let str = 'abcdef'")
+ execute('let n = 3')
+ eq('def', eval('str[n:]'))
+ eq('abcd', eval('str[:n]'))
+ eq('d', eval('str[n:n]'))
+ execute('unlet n')
+ execute('let nn = 3')
+ eq('def', eval('str[nn:]'))
+ eq('abcd', eval('str[:nn]'))
+ eq('d', eval('str[nn:nn]'))
+ execute('unlet nn')
+ execute('let b:nn = 4')
+ eq('ef', eval('str[b:nn:]'))
+ eq('abcde', eval('str[:b:nn]'))
+ eq('e', eval('str[b:nn:b:nn]'))
+ end)
end)