diff options
author | Sha Liu <dev.xinkele@gmail.com> | 2018-12-08 17:14:43 +0800 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-06-03 00:12:01 -0400 |
commit | 5a4e7af77d0f819d61604b9440cc2f6376a3186b (patch) | |
tree | e0f5a2d9e796e5997e4f79de8adbd11d24587b6a /test/functional/eval/execute_spec.lua | |
parent | 73a2922413b4fd119fc0ec1cca06ba0982ad576a (diff) | |
download | rneovim-5a4e7af77d0f819d61604b9440cc2f6376a3186b.tar.gz rneovim-5a4e7af77d0f819d61604b9440cc2f6376a3186b.tar.bz2 rneovim-5a4e7af77d0f819d61604b9440cc2f6376a3186b.zip |
update functional test for "places cursor correctly #6035"
Diffstat (limited to 'test/functional/eval/execute_spec.lua')
-rw-r--r-- | test/functional/eval/execute_spec.lua | 169 |
1 files changed, 84 insertions, 85 deletions
diff --git a/test/functional/eval/execute_spec.lua b/test/functional/eval/execute_spec.lua index 6f82b0d99c..45664e1060 100644 --- a/test/functional/eval/execute_spec.lua +++ b/test/functional/eval/execute_spec.lua @@ -126,135 +126,134 @@ describe('execute()', function() end) it('places cursor correctly #6035', function() - local screen = Screen.new(40, 5) + local screen = Screen.new(40, 6) screen:attach() source([=[ - " test 1 - function! Test1a() - echo 12345678 - let x = execute('echo 1234567890', '') - echon '1234' + " test 1: non-silenced output goes as usual + function! Test1() + echo 1234 + let x = execute('echon "abcdef"', '') + echon 'ABCD' endfunction - function! Test1b() - echo 12345678 - echo 1234567890 - echon '1234' + " test 2: silenced output does not affect ui + function! Test2() + echo 1234 + let x = execute('echon "abcdef"', 'silent') + echon 'ABCD' endfunction - " test 2 - function! Test2a() - echo 12345678 - let x = execute('echo 1234567890', 'silent') - echon '1234' + " test 3: silenced! error does not affect ui + function! Test3() + echo 1234 + let x = execute('echoerr "abcdef"', 'silent!') + echon 'ABCD' endfunction - function! Test2b() - echo 12345678 - silent echo 1234567890 - echon '1234' + " test 4: silenced echoerr goes as usual + " bug here + function! Test4() + echo 1234 + let x = execute('echoerr "abcdef"', 'silent') + echon 'ABCD' endfunction - " test 3 - function! Test3a() - echo 12345678 - let x = execute('echoerr 1234567890', 'silent!') - echon '1234' + " test 5: silenced! echoerr does not affect ui + function! Test5() + echo 1234 + let x = execute('echoerr "abcdef"', 'silent!') + echon 'ABCD' endfunction - function! Test3b() - echo 12345678 - silent! echoerr 1234567890 - echon '1234' + " test 6: silenced error goes as usual + function! Test6() + echo 1234 + let x = execute('echo undefined', 'silent') + echon 'ABCD' endfunction - " test 4 - function! Test4a() - echo 12345678 - let x = execute('echoerr 1234567890', 'silent') - echon '1234' - endfunction - - function! Test4b() - echo 12345678 - silent echoerr 1234567890 - echon '1234' + " test 7: existing error does not mess the result + function! Test7() + " display from Test6() is still visible + " why does the "abcdef" goes into a newline + let x = execute('echon "abcdef"', '') + echon 'ABCD' endfunction ]=]) - feed([[:call Test1a()<cr>]]) + feed([[:call Test1()<cr>]]) screen:expect([[ - | - | - 12345678 | - 12345678901234 | - Press ENTER or type command to continue^ | - ]]) - - feed([[:call Test1b()<cr>]]) - screen:expect([[ - 12345678 | - 12345678901234 | - 12345678 | - 12345678901234 | - Press ENTER or type command to continue^ | + ^ | + ~ | + ~ | + ~ | + ~ | + 1234abcdefABCD | ]]) - feed([[:call Test2a()<cr>]]) + feed([[:call Test2()<cr>]]) screen:expect([[ - 12345678901234 | - 12345678 | - 12345678901234 | - 123456781234 | - Press ENTER or type command to continue^ | + ^ | + ~ | + ~ | + ~ | + ~ | + 1234ABCD | ]]) - feed([[:call Test2b()<cr>]]) + feed([[:call Test3()<cr>]]) screen:expect([[ - 12345678 | - 12345678901234 | - 123456781234 | - 123456781234 | - Press ENTER or type command to continue^ | + ^ | + ~ | + ~ | + ~ | + ~ | + 1234ABCD | ]]) - feed([[:call Test3a()<cr>]]) + feed([[:call Test4()<cr>]]) + -- unexpected: need to fix + -- echoerr does not set did_emsg + -- "ef" was overwritten since msg_col was recovered wrongly screen:expect([[ - 12345678901234 | - 123456781234 | - 123456781234 | - 123456781234 | + 1234 | + Error detected while processing function| + Test4: | + line 2: | + abcdABCD | Press ENTER or type command to continue^ | ]]) - feed([[:call Test3b()<cr>]]) + feed([[<cr>]]) -- to clear screen + feed([[:call Test5()<cr>]]) screen:expect([[ - 123456781234 | - 123456781234 | - 123456781234 | - 123456781234 | - Press ENTER or type command to continue^ | + ^ | + ~ | + ~ | + ~ | + ~ | + 1234ABCD | ]]) - feed([[:call Test4a()<cr>]]) + feed([[:call Test6()<cr>]]) screen:expect([[ + 1234 | Error detected while processing function| - Test4a: | + Test6: | line 2: | - 123456781234 | + E121: Undefined variable: undefinedABCD | Press ENTER or type command to continue^ | ]]) - feed([[:call Test4b()<cr>]]) + feed([[:call Test7()<cr>]]) screen:expect([[ Error detected while processing function| - Test4b: | + Test6: | line 2: | - 12345678901234 | + E121: Undefined variable: undefinedABCD | + abcdefABCD | Press ENTER or type command to continue^ | ]]) - - end) -- This deviates from vim behavior, but is consistent |