From 1afb1cc6bc3fe9234a24a02ec4ecc9888214ceb5 Mon Sep 17 00:00:00 2001 From: Lucas Hoffmann Date: Thu, 11 Feb 2016 02:41:56 +0100 Subject: 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. --- test/functional/legacy/055_spec.lua | 257 ++++++++++++++++++------------------ 1 file changed, 128 insertions(+), 129 deletions(-) (limited to 'test/functional/legacy') diff --git a/test/functional/legacy/055_spec.lua b/test/functional/legacy/055_spec.lua index 8316fe15ce..bfabea20fa 100644 --- a/test/functional/legacy/055_spec.lua +++ b/test/functional/legacy/055_spec.lua @@ -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 -- cgit