From 1fd0ded08029c575ac4887e513732c50eaf05be2 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 13 Nov 2023 08:55:25 +0800 Subject: 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) https://github.com/vim/vim/commit/885de449c0c0ef4a8541ed1f5377351844384516 Co-authored-by: Yegappan Lakshmanan --- test/functional/legacy/debugger_spec.lua | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 test/functional/legacy/debugger_spec.lua (limited to 'test/functional') diff --git a/test/functional/legacy/debugger_spec.lua b/test/functional/legacy/debugger_spec.lua new file mode 100644 index 0000000000..e6fb81719f --- /dev/null +++ b/test/functional/legacy/debugger_spec.lua @@ -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 %') + 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 %') + 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') + 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 %') + 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) -- cgit