scriptencoding utf-8 Describe basic_asterisk Before all let lines = [ \ '1.asterisk 2.asterisk 3.asterisk' \ , '4.Asterisk 5.AsteRisK 6.Asterisk' \ , '' \ , '7.アスタリスク 8.アスタリスクです 9.アスタリスク?' \ ] call g:Add_lines(lines) let g:asterisk#keeppos = 1 End Before each call cursor([1, 1]) normal! 2l End After all :1,$ delete let g:asterisk#keeppos = 0 End Describe keeppos * It search forward with \<\> keeping cursor position normal! 3l normal * Assert Equals(histget('/', -1), '\/s+3') End It keep cursor position without offset normal * Assert Equals(histget('/', -1), '\') End It doesn't keep cursor position if the char under cursor is not keyword normal 1h normal * Assert Equals(histget('/', -1), '\') End It handles multibyte normal! 3j2l normal * Assert Equals(histget('/', -1), '\<アスタリスク\>/s+2') End End Describe keeppos g* It search forward keeping cursor position normal! 3l normal g* Assert Equals(histget('/', -1), 'asterisk/s+3') End It keep cursor position without offset normal g* Assert Equals(histget('/', -1), 'asterisk') End It doesn't keep cursor position if the char under cursor is not keyword normal 1h normal g* Assert Equals(histget('/', -1), 'asterisk') End End Describe keeppos # It search backward with \<\> keeping cursor position normal! 3l normal # Assert Equals(histget('/', -1), '\?s+3') End It search backward and correct count at the end of word normal! $ normal # Assert Equals(histget('/', -1), '\?s+7') normal! 9h Assert Equals(g:Get_pos_char(), '2') End It keep cursor position without offset normal # Assert Equals(histget('/', -1), '\') End It doesn't keep cursor position if the char under cursor is not keyword normal 1h normal # Assert Equals(histget('/', -1), '\') End End Describe keeppos g# It search forward keeping cursor position normal! 3l normal g# Assert Equals(histget('/', -1), 'asterisk?s+3') End It keep cursor position without offset normal g# Assert Equals(histget('/', -1), 'asterisk') End It doesn't keep cursor position if the char under cursor is not keyword normal 1h normal g# Assert Equals(histget('/', -1), 'asterisk') End End End