view src/testdir/test_input.vim @ 34780:54890be01c00 v9.1.0265

patch 9.1.0265: console dialog cannot save unnamed buffers Commit: https://github.com/vim/vim/commit/df46115fc839c8912ed60646e86a412e5180ba1d Author: glepnir <glephunter@gmail.com> Date: Thu Apr 4 22:23:29 2024 +0200 patch 9.1.0265: console dialog cannot save unnamed buffers Problem: console dialog cannot save unnamed buffers Solution: set bufname before save (glepnir). Define dialog_con_gui to test for GUI+Console dialog support, use it to skip the test when the GUI feature has been defined. Note: The dialog_changed() function will also try to call the browse_save_fname() function, when FEAT_BROWSE is defined (which is only defined in a GUI build of Vim). This will eventually lead to a call of do_browse(), which causes an error message if a GUI is not currently running (see the TODO: in do_browse()) and will then lead to a failure in Test_goto_buf_with_onfirm(). Therefore, we must disable the Test_goto_buf_with_onfirm(), when the dialog_con_gui feature is enabled (which basically means dialog feature for GUI and Console builds, in contrast to the dialog_con and dialog_gui feature). (Previously this wasn't a problem, because the test aborted in the YES case for the :confirm :b XgotoConf case and did therefore not run into the browse function call) closes: #14398 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 04 Apr 2024 23:45:02 +0200
parents 5da38c4ffe92
children
line wrap: on
line source

" Tests for character input and feedkeys() function.

func Test_feedkeys_x_with_empty_string()
  new
  call feedkeys("ifoo\<Esc>")
  call assert_equal('', getline('.'))
  call feedkeys('', 'x')
  call assert_equal('foo', getline('.'))

  " check it goes back to normal mode immediately.
  call feedkeys('i', 'x')
  call assert_equal('foo', getline('.'))
  quit!
endfunc

func Test_feedkeys_with_abbreviation()
  new
  inoreabbrev trigger value
  call feedkeys("atrigger ", 'x')
  call feedkeys("atrigger ", 'x')
  call assert_equal('value value ', getline(1))
  bwipe!
  iunabbrev trigger
endfunc

func Test_feedkeys_escape_special()
  nnoremap … <Cmd>let g:got_ellipsis += 1<CR>
  call feedkeys('…', 't')
  call assert_equal('…', getcharstr())
  let g:got_ellipsis = 0
  call feedkeys('…', 'xt')
  call assert_equal(1, g:got_ellipsis)
  unlet g:got_ellipsis
  nunmap …
endfunc

func Test_input_simplify_ctrl_at()
  new
  " feeding unsimplified CTRL-@ should still trigger i_CTRL-@
  call feedkeys("ifoo\<Esc>A\<*C-@>x", 'xt')
  call assert_equal('foofo', getline(1))
  bw!
endfunc

func Test_input_simplify_noremap()
  call feedkeys("i\<*C-M>", 'nx')
  call assert_equal('', getline(1))
  call assert_equal([0, 2, 1, 0, 1], getcurpos())
  bw!
endfunc

func Test_input_simplify_timedout()
  inoremap <C-M>a b
  call feedkeys("i\<*C-M>", 'xt')
  call assert_equal('', getline(1))
  call assert_equal([0, 2, 1, 0, 1], getcurpos())
  iunmap <C-M>a
  bw!
endfunc

" vim: shiftwidth=2 sts=2 expandtab