summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_termdebug.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/test_termdebug.vim')
-rw-r--r--src/testdir/test_termdebug.vim118
1 files changed, 84 insertions, 34 deletions
diff --git a/src/testdir/test_termdebug.vim b/src/testdir/test_termdebug.vim
index 68bffd4..a9762df 100644
--- a/src/testdir/test_termdebug.vim
+++ b/src/testdir/test_termdebug.vim
@@ -230,26 +230,26 @@ endfunc
func Test_termdebug_mapping()
%bw!
- call assert_equal(maparg('K', 'n', 0, 1)->empty(), 1)
- call assert_equal(maparg('-', 'n', 0, 1)->empty(), 1)
- call assert_equal(maparg('+', 'n', 0, 1)->empty(), 1)
+ call assert_true(maparg('K', 'n', 0, 1)->empty())
+ call assert_true(maparg('-', 'n', 0, 1)->empty())
+ call assert_true(maparg('+', 'n', 0, 1)->empty())
Termdebug
call WaitForAssert({-> assert_equal(3, winnr('$'))})
wincmd b
- call assert_equal(maparg('K', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('-', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('+', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('K', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('-', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('+', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('K', 'n', 0, 1).rhs, ':Evaluate<CR>')
+ 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_false(maparg('K', 'n', 0, 1).buffer)
+ call assert_false(maparg('-', 'n', 0, 1).buffer)
+ call assert_false(maparg('+', 'n', 0, 1).buffer)
+ call assert_equal(':Evaluate<CR>', maparg('K', 'n', 0, 1).rhs)
wincmd t
quit!
redraw!
call WaitForAssert({-> assert_equal(1, winnr('$'))})
- call assert_equal(maparg('K', 'n', 0, 1)->empty(), 1)
- call assert_equal(maparg('-', 'n', 0, 1)->empty(), 1)
- call assert_equal(maparg('+', 'n', 0, 1)->empty(), 1)
+ call assert_true(maparg('K', 'n', 0, 1)->empty())
+ call assert_true(maparg('-', 'n', 0, 1)->empty())
+ call assert_true(maparg('+', 'n', 0, 1)->empty())
%bw!
nnoremap K :echom "K"<cr>
@@ -258,24 +258,24 @@ func Test_termdebug_mapping()
Termdebug
call WaitForAssert({-> assert_equal(3, winnr('$'))})
wincmd b
- call assert_equal(maparg('K', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('-', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('+', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('K', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('-', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('+', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('K', 'n', 0, 1).rhs, ':Evaluate<CR>')
+ 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_false(maparg('K', 'n', 0, 1).buffer)
+ call assert_false(maparg('-', 'n', 0, 1).buffer)
+ call assert_false(maparg('+', 'n', 0, 1).buffer)
+ call assert_equal(':Evaluate<CR>', maparg('K', 'n', 0, 1).rhs)
wincmd t
quit!
redraw!
call WaitForAssert({-> assert_equal(1, winnr('$'))})
- call assert_equal(maparg('K', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('-', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('+', 'n', 0, 1)->empty(), 0)
- call assert_equal(maparg('K', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('-', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('+', 'n', 0, 1).buffer, 0)
- call assert_equal(maparg('K', 'n', 0, 1).rhs, ':echom "K"<cr>')
+ 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_false(maparg('K', 'n', 0, 1).buffer)
+ call assert_false(maparg('-', 'n', 0, 1).buffer)
+ call assert_false(maparg('+', 'n', 0, 1).buffer)
+ call assert_equal(':echom "K"<cr>', maparg('K', 'n', 0, 1).rhs)
%bw!
nnoremap <buffer> K :echom "bK"<cr>
@@ -284,20 +284,70 @@ func Test_termdebug_mapping()
Termdebug
call WaitForAssert({-> assert_equal(3, winnr('$'))})
wincmd b
- call assert_equal(maparg('K', 'n', 0, 1).buffer, 1)
- call assert_equal(maparg('-', 'n', 0, 1).buffer, 1)
- call assert_equal(maparg('+', 'n', 0, 1).buffer, 1)
+ 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(maparg('K', 'n', 0, 1).rhs, ':echom "bK"<cr>')
wincmd t
quit!
redraw!
call WaitForAssert({-> assert_equal(1, winnr('$'))})
- call assert_equal(maparg('K', 'n', 0, 1).buffer, 1)
- call assert_equal(maparg('-', 'n', 0, 1).buffer, 1)
- call assert_equal(maparg('+', 'n', 0, 1).buffer, 1)
- call assert_equal(maparg('K', 'n', 0, 1).rhs, ':echom "bK"<cr>')
+ 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)
%bw!
endfunc
+func Test_termdebug_bufnames()
+ " Test if user has filename/folders named gdb, Termdebug-gdb-console,
+ " etc. in the current directory
+ let g:termdebug_config = {}
+ let g:termdebug_config['use_prompt'] = 1
+ let filename = 'gdb'
+ let replacement_filename = 'Termdebug-gdb-console'
+
+ call writefile(['This', 'is', 'a', 'test'], filename, 'D')
+ " Throw away the file once the test has done.
+ Termdebug
+ " Once termdebug has completed the startup you should have 3 windows on screen
+ call WaitForAssert({-> assert_equal(3, winnr('$'))})
+ " A file named filename already exists in the working directory,
+ " hence you must call the newly created buffer differently
+ call WaitForAssert({-> assert_false(bufexists(filename))})
+ call WaitForAssert({-> assert_true(bufexists(replacement_filename))})
+ quit!
+ call WaitForAssert({-> assert_equal(1, winnr('$'))})
+
+ " Check if error message is in :message
+ let g:termdebug_config['disasm_window'] = 1
+ let filename = 'Termdebug-asm-listing'
+ call writefile(['This', 'is', 'a', 'test'], filename, 'D')
+ " Check only the head of the error message
+ let error_message = "You have a file/folder named '" .. filename .. "'"
+ Termdebug
+ " Once termdebug has completed the startup you should have 4 windows on screen
+ call WaitForAssert({-> assert_equal(4, winnr('$'))})
+ call WaitForAssert({-> assert_notequal(-1, stridx(execute('messages'), error_message))})
+ quit!
+ wincmd b
+ wincmd q
+ call WaitForAssert({-> assert_equal(1, winnr('$'))})
+
+ unlet g:termdebug_config
+endfunc
+
+function Test_termdebug_save_restore_variables()
+ let &mousemodel=''
+ Termdebug
+ call WaitForAssert({-> assert_equal(3, winnr('$'))})
+ call WaitForAssert({-> assert_match(&mousemodel, 'popup_setpos')})
+ wincmd t
+ quit!
+ call WaitForAssert({-> assert_equal(1, winnr('$'))})
+ call WaitForAssert({-> assert_true(empty(&mousemodel))})
+endfunction
+
+
" vim: shiftwidth=2 sts=2 expandtab