aboutsummaryrefslogtreecommitdiff
path: root/test/old/testdir/test_termdebug.vim
diff options
context:
space:
mode:
Diffstat (limited to 'test/old/testdir/test_termdebug.vim')
-rw-r--r--test/old/testdir/test_termdebug.vim103
1 files changed, 95 insertions, 8 deletions
diff --git a/test/old/testdir/test_termdebug.vim b/test/old/testdir/test_termdebug.vim
index fd0c850577..eb88ea6f5f 100644
--- a/test/old/testdir/test_termdebug.vim
+++ b/test/old/testdir/test_termdebug.vim
@@ -124,13 +124,13 @@ func Test_termdebug_basic()
" 60 is approx spaceBuffer * 3
if winwidth(0) <= 78 + 60
Var
- call assert_equal(winnr(), winnr('$'))
- call assert_equal(winlayout(), ['col', [['leaf', 1002], ['leaf', 1001], ['leaf', 1000], ['leaf', 1003 + cn]]])
+ call assert_equal(winnr('$'), winnr())
+ call assert_equal(['col', [['leaf', 1002], ['leaf', 1001], ['leaf', 1000], ['leaf', 1003 + cn]]], winlayout())
let cn += 1
bw!
Asm
- call assert_equal(winnr(), winnr('$'))
- call assert_equal(winlayout(), ['col', [['leaf', 1002], ['leaf', 1001], ['leaf', 1000], ['leaf', 1003 + cn]]])
+ call assert_equal(winnr('$'), winnr())
+ call assert_equal(['col', [['leaf', 1002], ['leaf', 1001], ['leaf', 1000], ['leaf', 1003 + cn]]], winlayout())
let cn += 1
bw!
endif
@@ -139,16 +139,16 @@ func Test_termdebug_basic()
let winw = winwidth(0)
Var
if winwidth(0) < winw
- call assert_equal(winnr(), winnr('$') - 1)
- call assert_equal(winlayout(), ['col', [['leaf', 1002], ['leaf', 1001], ['row', [['leaf', 1003 + cn], ['leaf', 1000]]]]])
+ call assert_equal(winnr('$') - 1, winnr())
+ call assert_equal(['col', [['leaf', 1002], ['leaf', 1001], ['row', [['leaf', 1003 + cn], ['leaf', 1000]]]]], winlayout())
let cn += 1
bw!
endif
let winw = winwidth(0)
Asm
if winwidth(0) < winw
- call assert_equal(winnr(), winnr('$') - 1)
- call assert_equal(winlayout(), ['col', [['leaf', 1002], ['leaf', 1001], ['row', [['leaf', 1003 + cn], ['leaf', 1000]]]]])
+ call assert_equal(winnr('$') - 1, winnr())
+ call assert_equal(['col', [['leaf', 1002], ['leaf', 1001], ['row', [['leaf', 1003 + cn], ['leaf', 1000]]]]], winlayout())
let cn += 1
bw!
endif
@@ -161,6 +161,18 @@ func Test_termdebug_basic()
call WaitForAssert({-> assert_equal(1, winnr('$'))})
call assert_equal([], sign_getplaced('', #{group: 'TermDebug'})[0].signs)
+ for use_prompt in [0, 1]
+ let g:termdebug_config = {}
+ let g:termdebug_config['use_prompt'] = use_prompt
+ TermdebugCommand ./XTD_basic arg args
+ call WaitForAssert({-> assert_equal(3, winnr('$'))})
+ wincmd t
+ quit!
+ redraw!
+ call WaitForAssert({-> assert_equal(1, winnr('$'))})
+ unlet g:termdebug_config
+ endfor
+
call s:cleanup_files(bin_name)
%bw!
endfunc
@@ -280,9 +292,20 @@ func Test_termdebug_mapping()
call assert_equal(':echom "K"<cr>', maparg('K', 'n', 0, 1).rhs)
%bw!
+
+ " -- Test that local-buffer mappings are restored in the correct buffers --
+ " local mappings for foo
+ file foo
nnoremap <buffer> K :echom "bK"<cr>
nnoremap <buffer> - :echom "b-"<cr>
nnoremap <buffer> + :echom "b+"<cr>
+
+ " no mappings for 'bar'
+ enew
+ file bar
+
+ " Start termdebug from foo
+ buffer foo
Termdebug
call WaitForAssert({-> assert_equal(3, winnr('$'))})
wincmd b
@@ -290,15 +313,41 @@ func Test_termdebug_mapping()
call assert_true(maparg('-', 'n', 0, 1).buffer)
call assert_true(maparg('+', 'n', 0, 1).buffer)
call assert_equal(maparg('K', 'n', 0, 1).rhs, ':echom "bK"<cr>')
+
+ Source
+ buffer bar
+ call assert_false(maparg('K', 'n', 0, 1)->empty())
+ call assert_false(maparg('-', 'n', 0, 1)->empty())
+ call assert_false(maparg('+', 'n', 0, 1)->empty())
+ call assert_true(maparg('K', 'n', 0, 1).buffer->empty())
+ call assert_true(maparg('-', 'n', 0, 1).buffer->empty())
+ call assert_true(maparg('+', 'n', 0, 1).buffer->empty())
wincmd t
quit!
redraw!
call WaitForAssert({-> assert_equal(1, winnr('$'))})
+
+ " Termdebug session ended. Buffer 'bar' shall have no mappings
+ call assert_true(bufname() ==# 'bar')
+ call assert_false(maparg('K', 'n', 0, 1)->empty())
+ call assert_false(maparg('-', 'n', 0, 1)->empty())
+ call assert_false(maparg('+', 'n', 0, 1)->empty())
+ call assert_true(maparg('K', 'n', 0, 1).buffer->empty())
+ call assert_true(maparg('-', 'n', 0, 1).buffer->empty())
+ call assert_true(maparg('+', 'n', 0, 1).buffer->empty())
+
+ " Buffer 'foo' shall have the same mapping as before running the termdebug
+ " session
+ buffer foo
+ call assert_true(bufname() ==# 'foo')
call assert_true(maparg('K', 'n', 0, 1).buffer)
call assert_true(maparg('-', 'n', 0, 1).buffer)
call assert_true(maparg('+', 'n', 0, 1).buffer)
call assert_equal(':echom "bK"<cr>', maparg('K', 'n', 0, 1).rhs)
+ nunmap K
+ nunmap +
+ nunmap -
%bw!
endfunc
@@ -340,5 +389,43 @@ func Test_termdebug_bufnames()
unlet g:termdebug_config
endfunc
+function Test_termdebug_save_restore_variables()
+ " saved mousemodel
+ let &mousemodel=''
+
+ " saved keys
+ nnoremap K :echo "hello world!"<cr>
+ let expected_map_K = maparg('K', 'n', 0 , 1)
+ nnoremap + :echo "hello plus!"<cr>
+ let expected_map_plus = maparg('+', 'n', 0 , 1)
+ let expected_map_minus = {}
+
+ " saved &columns
+ let expected_columns = &columns
+
+ " We want termdebug to overwrite 'K' map but not '+' map.
+ let g:termdebug_config = {}
+ let g:termdebug_config['map_K'] = 1
+
+ Termdebug
+ call WaitForAssert({-> assert_equal(3, winnr('$'))})
+ call WaitForAssert({-> assert_match(&mousemodel, 'popup_setpos')})
+ wincmd t
+ quit!
+ call WaitForAssert({-> assert_equal(1, winnr('$'))})
+
+ call assert_true(empty(&mousemodel))
+
+ call assert_true(empty(expected_map_minus))
+ call assert_equal(expected_map_K.rhs, maparg('K', 'n', 0, 1).rhs)
+ call assert_equal(expected_map_plus.rhs, maparg('+', 'n', 0, 1).rhs)
+
+ call assert_equal(expected_columns, &columns)
+
+ nunmap K
+ nunmap +
+ unlet g:termdebug_config
+endfunction
+
" vim: shiftwidth=2 sts=2 expandtab