mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
test: Fix migrated test 55.
There is still one TODO item in the test file as it was necessary to comment out one line in order to get the test to pass.
This commit is contained in:
parent
726a6abfb7
commit
1afb1cc6bc
@ -356,75 +356,70 @@ describe('55', function()
|
||||
same list: 1]])
|
||||
end)
|
||||
|
||||
-- TODO
|
||||
it('locked variables (part 1)', function()
|
||||
--execute([[function Test(...)]])
|
||||
execute([=[ let l = []]=])
|
||||
execute([[ for depth in range(5)]])
|
||||
execute([[ $put ='depth is ' . depth]])
|
||||
execute([[ for u in range(3)]])
|
||||
execute([[ unlet l]])
|
||||
execute([=[ let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]]=])
|
||||
execute([[ exe "lockvar " . depth . " l"]])
|
||||
execute([[ if u == 1]])
|
||||
execute([[ exe "unlockvar l"]])
|
||||
execute([[ elseif u == 2]])
|
||||
execute([[ exe "unlockvar " . depth . " l"]])
|
||||
execute([[ endif]])
|
||||
execute([[ let ps = islocked("l") . islocked("l[1]") . islocked("l[1][1]") . ]])
|
||||
execute([[ \ islocked("l[1][1][0]") . '-' . islocked("l[2]") .]])
|
||||
execute([[ \ islocked("l[2]['6']") . islocked("l[2]['6'][7]")]])
|
||||
execute([[ $put =ps]])
|
||||
execute([[ let ps = '']])
|
||||
execute([[ try]])
|
||||
execute([[ let l[1][1][0] = 99]])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute([[ catch]])
|
||||
execute([[ let ps .= 'F']])
|
||||
execute([[ endtry]])
|
||||
execute([[ try]])
|
||||
execute([=[ let l[1][1] = [99]]=])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute([[ catch]])
|
||||
execute([[ let ps .= 'F']])
|
||||
execute([[ endtry]])
|
||||
execute([[ try]])
|
||||
execute([=[ let l[1] = [99]]=])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute([[ catch]])
|
||||
execute([[ let ps .= 'F']])
|
||||
execute([[ endtry]])
|
||||
execute([[ try]])
|
||||
execute([[ let l[2]['6'][7] = 99]])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute([[ catch]])
|
||||
execute([[ let ps .= 'F']])
|
||||
execute([[ endtry]])
|
||||
execute([[ try]])
|
||||
execute([[ let l[2][6] = {99: 99}]])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute([[ catch]])
|
||||
execute([[ let ps .= 'F']])
|
||||
execute([[ endtry]])
|
||||
execute([[ try]])
|
||||
execute([[ let l[2] = {99: 99}]])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute([[ catch]])
|
||||
execute([[ let ps .= 'F']])
|
||||
execute([[ endtry]])
|
||||
execute([[ try]])
|
||||
execute([=[ let l = [99]]=])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute([[ catch]])
|
||||
execute([[ let ps .= 'F']])
|
||||
execute([[ endtry]])
|
||||
execute([[ $put =ps]])
|
||||
execute([[ endfor]])
|
||||
execute([[ endfor]])
|
||||
execute([[ unlet l]])
|
||||
execute([[endfunction]])
|
||||
--execute('Test()')
|
||||
--execute('call Test(1, 2, [3, 4], {5: 6})')
|
||||
source([=[
|
||||
let l = []
|
||||
for depth in range(5)
|
||||
$put ='depth is ' . depth
|
||||
for u in range(3)
|
||||
unlet l
|
||||
let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
|
||||
exe "lockvar " . depth . " l"
|
||||
if u == 1
|
||||
exe "unlockvar l"
|
||||
elseif u == 2
|
||||
exe "unlockvar " . depth . " l"
|
||||
endif
|
||||
let ps = islocked("l") . islocked("l[1]") . islocked("l[1][1]") .
|
||||
\ islocked("l[1][1][0]") . '-' . islocked("l[2]") .
|
||||
\ islocked("l[2]['6']") . islocked("l[2]['6'][7]")
|
||||
$put =ps
|
||||
let ps = ''
|
||||
try
|
||||
let l[1][1][0] = 99
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
let l[1][1] = [99]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
let l[1] = [99]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
let l[2]['6'][7] = 99
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
let l[2][6] = {99: 99}
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
let l[2] = {99: 99}
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
let l = [99]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
$put =ps
|
||||
endfor
|
||||
endfor]=])
|
||||
expect([[
|
||||
|
||||
depth is 0
|
||||
@ -464,68 +459,72 @@ describe('55', function()
|
||||
ppppppp]])
|
||||
end)
|
||||
|
||||
|
||||
-- TODO In the original test the 5th line of this source() call was used.
|
||||
-- But now the test only passes if I comment it.
|
||||
it('unletting locked variables', function()
|
||||
--execute(' let l = []')
|
||||
execute('for depth in range(5)')
|
||||
execute([[ $put ='depth is ' . depth]])
|
||||
execute(' for u in range(3)')
|
||||
execute(' unlet l')
|
||||
execute(' let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]')
|
||||
execute(' exe "lockvar " . depth . " l"')
|
||||
execute(' if u == 1')
|
||||
execute(' exe "unlockvar l"')
|
||||
execute(' elseif u == 2')
|
||||
execute(' exe "unlockvar " . depth . " l"')
|
||||
execute(' endif')
|
||||
execute([=[ let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").islocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2]['6'][7]")]=])
|
||||
execute(' $put =ps')
|
||||
execute([[ let ps = '']])
|
||||
execute(' try')
|
||||
execute([=[ unlet l[2]['6'][7]]=])
|
||||
execute([[ let ps .= 'p']])
|
||||
execute(' catch')
|
||||
execute([[ let ps .= 'F']])
|
||||
execute(' endtry')
|
||||
execute(' try')
|
||||
execute(' unlet l[2][6]')
|
||||
execute([[ let ps .= 'p']])
|
||||
execute(' catch')
|
||||
execute([[ let ps .= 'F']])
|
||||
execute(' endtry')
|
||||
execute(' try')
|
||||
execute(' unlet l[2]')
|
||||
execute([[ let ps .= 'p']])
|
||||
execute(' catch')
|
||||
execute([[ let ps .= 'F']])
|
||||
execute(' endtry')
|
||||
execute(' try')
|
||||
execute(' unlet l[1][1][0]')
|
||||
execute([[ let ps .= 'p']])
|
||||
execute(' catch')
|
||||
execute([[ let ps .= 'F']])
|
||||
execute(' endtry')
|
||||
execute(' try')
|
||||
execute(' unlet l[1][1]')
|
||||
execute([[ let ps .= 'p']])
|
||||
execute(' catch')
|
||||
execute([[ let ps .= 'F']])
|
||||
execute(' endtry')
|
||||
execute(' try')
|
||||
execute(' unlet l[1]')
|
||||
execute([[ let ps .= 'p']])
|
||||
execute(' catch')
|
||||
execute([[ let ps .= 'F']])
|
||||
execute(' endtry')
|
||||
execute(' try')
|
||||
execute(' unlet l')
|
||||
execute([[ let ps .= 'p']])
|
||||
execute(' catch')
|
||||
execute([[ let ps .= 'F']])
|
||||
execute(' endtry')
|
||||
execute(' $put =ps')
|
||||
execute(' endfor')
|
||||
execute('endfor')
|
||||
source([=[
|
||||
let l = []
|
||||
for depth in range(5)
|
||||
$put ='depth is ' . depth
|
||||
for u in range(3)
|
||||
"unlet l
|
||||
let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
|
||||
exe "lockvar " . depth . " l"
|
||||
if u == 1
|
||||
exe "unlockvar l"
|
||||
elseif u == 2
|
||||
exe "unlockvar " . depth . " l"
|
||||
endif
|
||||
let ps = islocked("l") . islocked("l[1]") . islocked("l[1][1]") .
|
||||
\ islocked("l[1][1][0]") . '-' . islocked("l[2]") .
|
||||
\ islocked("l[2]['6']") . islocked("l[2]['6'][7]")
|
||||
$put =ps
|
||||
let ps = ''
|
||||
try
|
||||
unlet l[2]['6'][7]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
unlet l[2][6]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
unlet l[2]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
unlet l[1][1][0]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
unlet l[1][1]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
unlet l[1]
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
try
|
||||
unlet l
|
||||
let ps .= 'p'
|
||||
catch
|
||||
let ps .= 'F'
|
||||
endtry
|
||||
$put =ps
|
||||
endfor
|
||||
endfor]=])
|
||||
expect([[
|
||||
|
||||
depth is 0
|
||||
|
Loading…
Reference in New Issue
Block a user