mirror of
https://github.com/neovim/neovim.git
synced 2024-12-21 03:35:02 -07:00
ff470bb853
It is otherwise impossible to determine which test failed sanitizer/valgrind check. test/functional/helpers.lua module return was changed so that tests which do not provide after_each function to get new check will automatically fail.
55 lines
1.4 KiB
Lua
55 lines
1.4 KiB
Lua
-- Tests for :let.
|
|
|
|
local helpers = require('test.functional.helpers')(after_each)
|
|
local clear, source = helpers.clear, helpers.source
|
|
local execute, expect = helpers.execute, helpers.expect
|
|
|
|
describe(':let', function()
|
|
setup(clear)
|
|
|
|
it('is working', function()
|
|
execute('set runtimepath+=test/functional/fixtures')
|
|
|
|
-- Test to not autoload when assigning. It causes internal error.
|
|
source([[
|
|
try
|
|
let Test104#numvar = function('tr')
|
|
$put ='OK: ' . string(Test104#numvar)
|
|
catch
|
|
$put ='FAIL: ' . v:exception
|
|
endtry
|
|
let a = 1
|
|
let b = 2
|
|
for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0 == 1 ? "a" : "b"}']
|
|
try
|
|
redir => messages
|
|
execute 'let' letargs
|
|
redir END
|
|
$put ='OK:'
|
|
$put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
|
|
catch
|
|
$put ='FAIL: ' . v:exception
|
|
redir END
|
|
endtry
|
|
endfor]])
|
|
|
|
-- Remove empty line
|
|
execute('1d')
|
|
|
|
-- Assert buffer contents.
|
|
expect([[
|
|
OK: function('tr')
|
|
OK:
|
|
a #1
|
|
b #2
|
|
OK:
|
|
b #2
|
|
OK:
|
|
b #2
|
|
a #1
|
|
OK:
|
|
a #1
|
|
b #2]])
|
|
end)
|
|
end)
|