1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 10:40:03 +08:00
SpaceVim/bundle/vim-asterisk/test/basic_asterisk.vimspec
2022-06-10 16:31:14 +08:00

170 lines
4.6 KiB
Plaintext

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.アスタリスク?'
\ , '.* .* .*'
\ , '.* asterisk asterisk'
\ ]
call g:Add_lines(lines)
End
Before each
call cursor([1, 1])
normal! 2l
End
After all
:1,$ delete
End
Context *
It search forward with \<\>
let @/ = ''
normal *
Assert Equals(@/, '\<asterisk\>')
End
It search forward the 1th occurrence of the word
normal *
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It search forward the 2th occurrence of the word
normal 2*
normal! 2h
Assert Equals(g:Get_pos_char(), '3')
End
It search forward in the middle of word
normal! l
normal *
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It search forward multibyte word
normal! 3j
normal *
normal! B
Assert Equals(g:Get_pos_char(), '8')
End
It throws the error if there are no <cword>
normal! 2j
Throws /E348: No string under cursor/ :normal *
End
Context regular expression handling
It use regular expression characters under cursor if there are no keyword word after them
normal! 4j0
normal *
Assert Equals(@/, '\.\*')
End
It do not use regular expression characters under cursor if there are keyword words after them
normal! 5j0
normal *
Assert Equals(@/, '\<asterisk\>')
End
End
End
Context g*
It search forward without \<\>
let @/ = ''
normal g*
Assert Equals(@/, 'asterisk')
End
It search forward the 1th occurrence of the word
normal g*
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It search forward the 2th occurrence of the word
normal 2*
normal! 2h
Assert Equals(g:Get_pos_char(), '3')
End
It search forward in the middle of word
normal! l
normal g*
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It throws the error if there are no <cword>
normal! 2j
Throws /E348: No string under cursor/ :normal g*
End
It search forward with the first keyword after the cursor
normal! h
normal *
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It search forward with ignorecase
set ignorecase nosmartcase
normal! j
normal *
normal! 2h
Assert Equals(g:Get_pos_char(), '5')
set ignorecase& smartcase&
End
It search forward with smartcase
set ignorecase smartcase
normal! j
normal *
normal! 2h
Assert Equals(g:Get_pos_char(), '6')
set ignorecase& smartcase&
End
End
Context #
It search backward with \<\>
let @/ = ''
normal #
Assert Equals(@/, '\<asterisk\>')
End
It search backward the 1th occurrence of the word
normal! $b
normal #
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It search backward the 2th occurrence of the word
normal! $b
normal 2#
normal! 2h
Assert Equals(g:Get_pos_char(), '1')
End
It search backward at the end of word
normal! $
normal #
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It search backward in the middle of word
normal! $h
normal #
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
It search backward with the first keyword after the cursor
normal! $bh
normal #
normal! 2h
Assert Equals(g:Get_pos_char(), '2')
End
End
Context g#
It search backward with \<\>
let @/ = ''
normal g#
Assert Equals(@/, 'asterisk')
End
End
End