aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/debugger_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-11-13 08:55:25 +0800
committerGitHub <noreply@github.com>2023-11-13 08:55:25 +0800
commit1fd0ded08029c575ac4887e513732c50eaf05be2 (patch)
tree35758ce7a456507f0df5d40f8817204a4529e82a /test/functional/legacy/debugger_spec.lua
parentd2983dcdb1ca003b5fd42d7d99fd98310aa1cd56 (diff)
downloadrneovim-1fd0ded08029c575ac4887e513732c50eaf05be2.tar.gz
rneovim-1fd0ded08029c575ac4887e513732c50eaf05be2.tar.bz2
rneovim-1fd0ded08029c575ac4887e513732c50eaf05be2.zip
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 <yegappan@yahoo.com>
Diffstat (limited to 'test/functional/legacy/debugger_spec.lua')
-rw-r--r--test/functional/legacy/debugger_spec.lua85
1 files changed, 85 insertions, 0 deletions
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 %<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)