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
241 lines
6.9 KiB
Plaintext
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
|