vim-patch:8.2.4809: various things no6 properly tested (#26017)

Problem:    Various things no6 properly tested.
Solution:   Add various test cases. (Yegappan Lakshmanan, closes vim/vim#10259)

885de449c0

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
zeertzjq 2023-11-13 08:55:25 +08:00 committed by GitHub
parent d2983dcdb1
commit 1fd0ded080
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 109 additions and 1 deletions

View File

@ -0,0 +1,85 @@
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear = helpers.clear
local command = helpers.command
local feed = helpers.feed
local write_file = helpers.write_file
before_each(clear)
describe('debugger', function()
local screen
before_each(function()
screen = Screen.new(999, 10)
screen:set_default_attr_ids({
[0] = {bold = true, foreground = Screen.colors.Blue};
[1] = {reverse = true, bold = true};
})
screen:attach()
end)
-- oldtest: Test_Debugger_breakadd_expr()
it(':breakadd expr', function()
write_file('XdebugBreakExpr.vim', 'let g:Xtest_var += 1')
finally(function()
os.remove('XdebugBreakExpr.vim')
end)
command('edit XdebugBreakExpr.vim')
command(':let g:Xtest_var = 10')
command(':breakadd expr g:Xtest_var')
feed(':source %<CR>')
screen:expect{grid=[[
^let g:Xtest_var += 1{MATCH: *}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
:source %{MATCH: *}|
]]}
feed(':source %<CR>')
screen:expect{grid=[[
let g:Xtest_var += 1{MATCH: *}|
{0:~{MATCH: *}}|
{1:{MATCH: *}}|
Breakpoint in "{MATCH:.*}XdebugBreakExpr.vim" line 1{MATCH: *}|
Entering Debug mode. Type "cont" to continue.{MATCH: *}|
Oldval = "10"{MATCH: *}|
Newval = "11"{MATCH: *}|
{MATCH:.*}XdebugBreakExpr.vim{MATCH: *}|
line 1: let g:Xtest_var += 1{MATCH: *}|
>^{MATCH: *}|
]]}
feed('cont<CR>')
screen:expect{grid=[[
^let g:Xtest_var += 1{MATCH: *}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{0:~{MATCH: *}}|
{MATCH: *}|
]]}
feed(':source %<CR>')
screen:expect{grid=[[
let g:Xtest_var += 1{MATCH: *}|
{0:~{MATCH: *}}|
{1:{MATCH: *}}|
Breakpoint in "{MATCH:.*}XdebugBreakExpr.vim" line 1{MATCH: *}|
Entering Debug mode. Type "cont" to continue.{MATCH: *}|
Oldval = "11"{MATCH: *}|
Newval = "12"{MATCH: *}|
{MATCH:.*}XdebugBreakExpr.vim{MATCH: *}|
line 1: let g:Xtest_var += 1{MATCH: *}|
>^{MATCH: *}|
]]}
end)
end)

View File

@ -119,6 +119,8 @@ func Test_blob_assign()
LET b[1 : 1] ..= 0z55
END
call CheckLegacyAndVim9Failure(lines, ['E734:', 'E1183:', 'E734:'])
call assert_fails('let b = readblob("a1b2c3")', 'E484:')
endfunc
func Test_blob_get_range()
@ -211,6 +213,8 @@ func Test_blob_compare()
call assert_true(b1 == b2)
call assert_false(b1 is b2)
call assert_true(b1 isnot b2)
call assert_true(0z != 0z10)
call assert_true(0z10 != 0z)
END
call CheckLegacyAndVim9Success(lines)
@ -267,7 +271,8 @@ func Test_blob_index_assign()
VAR b = 0z00
LET b[1] = 0x11
LET b[2] = 0x22
call assert_equal(0z001122, b)
LET b[0] = 0x33
call assert_equal(0z331122, b)
END
call CheckLegacyAndVim9Success(lines)
@ -282,6 +287,18 @@ func Test_blob_index_assign()
LET b[-2] = 0x33
END
call CheckLegacyAndVim9Failure(lines, 'E979:')
let lines =<< trim END
VAR b = 0z00010203
LET b[0 : -1] = 0z33
END
call CheckLegacyAndVim9Failure(lines, 'E979:')
let lines =<< trim END
VAR b = 0z00010203
LET b[3 : 4] = 0z3344
END
call CheckLegacyAndVim9Failure(lines, 'E979:')
endfunc
func Test_blob_for_loop()
@ -427,6 +444,12 @@ func Test_blob_func_remove()
END
call CheckLegacyAndVim9Failure(lines, 'E979:')
let lines =<< trim END
VAR b = 0zDEADBEEF
call remove(b, -10)
END
call CheckLegacyAndVim9Failure(lines, 'E979:')
let lines =<< trim END
VAR b = 0zDEADBEEF
call remove(b, 3, 2)