patch 8.2.4809: various things no6 properly tested

Problem:    Various things no6 properly tested.
Solution:   Add various test cases. (Yegappan Lakshmanan, closes #10259)
diff --git a/src/testdir/test_debugger.vim b/src/testdir/test_debugger.vim
index 1856f8d..5aa7bab 100644
--- a/src/testdir/test_debugger.vim
+++ b/src/testdir/test_debugger.vim
@@ -362,7 +362,39 @@
   call assert_fails('breakadd file Xtest.vim /\)/', 'E55:')
 endfunc
 
-def Test_Debugger_breakadd_expr()
+" Test for expression breakpoint set using ":breakadd expr <expr>"
+func Test_Debugger_breakadd_expr()
+  let lines =<< trim END
+    let g:Xtest_var += 1
+  END
+  call writefile(lines, 'Xtest.vim')
+
+  " Start Vim in a terminal
+  let buf = RunVimInTerminal('Xtest.vim', {})
+  call RunDbgCmd(buf, ':let g:Xtest_var = 10')
+  call RunDbgCmd(buf, ':breakadd expr g:Xtest_var')
+  call RunDbgCmd(buf, ':source %')
+  let expected =<< eval trim END
+    Oldval = "10"
+    Newval = "11"
+    `=fnamemodify('Xtest.vim', ':p')`
+    line 1: let g:Xtest_var += 1
+  END
+  call RunDbgCmd(buf, ':source %', expected)
+  call RunDbgCmd(buf, 'cont')
+  let expected =<< eval trim END
+    Oldval = "11"
+    Newval = "12"
+    `=fnamemodify('Xtest.vim', ':p')`
+    line 1: let g:Xtest_var += 1
+  END
+  call RunDbgCmd(buf, ':source %', expected)
+
+  call StopVimInTerminal(buf)
+  call delete('Xtest.vim')
+endfunc
+
+def Test_Debugger_breakadd_vim9_expr()
   var lines =<< trim END
       vim9script
       func g:EarlyFunc()