let s:suite = themis#suite('history') let s:assert = themis#helper('assert') function! s:suite.before() :1,$ delete map / (incsearch-forward) map ? (incsearch-backward) map g/ (incsearch-stay) set history=5 endfunction function! s:suite.before_each() " call histdel('search') " Segmentation fault (core dumped) silent! exec "normal" "/\\" endfunction function! s:suite.after() unmap / unmap ? unmap g/ set history& :1,$ delete endfunction function! s:suite.commandline_history_forward() call s:assert.equals(histget('search', -1), ' ') silent! exec "normal" "/pattern\" call s:assert.equals(histget('search', -1), 'pattern') silent! exec "normal" "/pattern/e\" call s:assert.equals(histget('search', -1), 'pattern/e') endfunction function! s:suite.commandline_history_backward() call s:assert.equals(histget('search', -1), ' ') silent! exec "normal" "?pattern\" call s:assert.equals(histget('search', -1), 'pattern') silent! exec "normal" "?pattern/e\" call s:assert.equals(histget('search', -1), 'pattern/e') endfunction function! s:suite.commandline_history_stay() call s:assert.equals(histget('search', -1), ' ') silent! exec "normal" "g/pattern\" call s:assert.equals(histget('search', -1), 'pattern') silent! exec "normal" "g/pattern/e\" call s:assert.equals(histget('search', -1), 'pattern/e') silent! exec "normal" "g/pattern/e\\" call s:assert.equals(histget('search', -1), 'pattern/e') endfunction