view src/testdir/test_iminsert.vim @ 13462:568dcfac9daf v8.0.1605

patch 8.0.1605: terminal test is a bit flaky commit https://github.com/vim/vim/commit/012eb6629337fdf8afca78a24faa132e9b42e7b4 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Mar 13 17:55:27 2018 +0100 patch 8.0.1605: terminal test is a bit flaky Problem: Terminal test is a bit flaky. Solution: Check for the shell prompt. Use more lambda functions.
author Christian Brabandt <cb@256bit.org>
date Tue, 13 Mar 2018 18:00:06 +0100
parents c53a80f39a52
children 2dcaa860e3fc
line wrap: on
line source

if !has('multi_byte')
  finish
endif

source view_util.vim

let s:imactivatefunc_called = 0
let s:imstatusfunc_called = 0

func IM_activatefunc(active)
  let s:imactivatefunc_called = 1
endfunc

func IM_statusfunc()
  let s:imstatusfunc_called = 1
  return 0
endfunc

func Test_iminsert2()
  set imactivatefunc=IM_activatefunc
  set imstatusfunc=IM_statusfunc
  set iminsert=2
  normal! i
  set iminsert=0
  set imactivatefunc=
  set imstatusfunc=

  let expected = has('gui_running') ? 0 : 1
  call assert_equal(expected, s:imactivatefunc_called)
  call assert_equal(expected, s:imstatusfunc_called)
endfunc