spacevim/bundle/gina.vim/test/gina/command/qrep.vimspec
JIe 2bb7059579
Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
init
2024-08-21 14:17:26 +08:00

241 lines
6.9 KiB
Plaintext

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