1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 22:40:05 +08:00
SpaceVim/bundle/gina.vim/test/gina/command/qrep.vimspec

241 lines
6.9 KiB
Plaintext
Raw Normal View History

Describe gina#command#qrep
Before all
let Path = vital#gina#import('System.Filepath')
let slit1 = Slit(tempname(), 1)
call slit1.write('A/foo.txt', ['a', 'b', 'c', 'd', 'e'])
call slit1.write('B/foo.txt', ['A', 'B', 'C', 'D', 'E'])
call slit1.write('C/foo.txt', ['aa', 'bb', 'cc', 'dd', 'ee'])
call slit1.execute('add .')
call slit1.execute('commit --quiet -am "First"')
End
After all
%bwipeout!
End
Before
%bwipeout!
End
Describe Use cases
It might be called with {pattern}
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync qrep a
Assert Equals(winnr('$'), 1)
if has('patch-8.0.1782')
Assert Equals(getqflist(), [
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'a',
\ 'module': '',
\ },
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('C/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'aa',
\ 'module': '',
\ }
\])
else
Assert Equals(getqflist(), [
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'a'
\ },
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('C/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'aa'
\ }
\])
endif
End
It might be called with -e{pattern} --or -e{pattern}
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync qrep -ea --or -eb
Assert Equals(winnr('$'), 1)
if has('patch-8.0.1782')
Assert Equals(getqflist(), [
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'a',
\ 'module': '',
\ },
\ {
\ 'lnum': 2,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'b',
\ 'module': '',
\ },
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('C/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'aa',
\ 'module': '',
\ },
\ {
\ 'lnum': 2,
\ 'bufnr': bufnr(slit1.path('C/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'bb',
\ 'module': '',
\ }
\])
else
Assert Equals(getqflist(), [
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'a'
\ },
\ {
\ 'lnum': 2,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'b'
\ },
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('C/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'aa'
\ },
\ {
\ 'lnum': 2,
\ 'bufnr': bufnr(slit1.path('C/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'bb'
\ }
\])
endif
End
It might be called with {pattern} -- A/*.txt
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync qrep a -- A/*.txt
Assert Equals(winnr('$'), 1)
if has('patch-8.0.1782')
Assert Equals(getqflist(), [
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'a',
\ 'module': '',
\ },
\])
else
Assert Equals(getqflist(), [
\ {
\ 'lnum': 1,
\ 'bufnr': bufnr(slit1.path('A/foo.txt')),
\ 'col': 1,
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': '',
\ 'pattern': '',
\ 'text': 'a'
\ },
\])
endif
End
It might be called with ! (bang)
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
let original_cursor_position = getcurpos()
let original_buffer = bufnr('%')
GinaSync qrep! a
Assert Equals(getcurpos(), original_cursor_position)
Assert Equals(bufnr('%'), original_buffer)
End
It might be called without ! (bang)
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync qrep a
let cursor_position = getcurpos()
let qf_entry = getqflist()[0]
Assert Equals(bufnr('%'), qf_entry['bufnr'])
Assert Equals(cursor_position[1], qf_entry['lnum'])
Assert Equals(cursor_position[2], qf_entry['col'])
End
End
End