mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 12:50:03 +08:00
155 lines
4.6 KiB
Plaintext
155 lines
4.6 KiB
Plaintext
Describe gina#command#compare
|
|
Before all
|
|
let Path = vital#gina#import('System.Filepath')
|
|
let slit1 = Slit(tempname(), 1)
|
|
call slit1.write('A/foo.txt', [])
|
|
call slit1.execute('add %s', slit1.path('A/foo.txt'))
|
|
|
|
call slit1.write('A/foo.txt', ['1'])
|
|
call slit1.execute('commit --quiet -am "First"')
|
|
|
|
call slit1.write('A/foo.txt', ['2'])
|
|
call slit1.execute('commit --quiet -am "Second"')
|
|
|
|
call slit1.write('A/foo.txt', ['3'])
|
|
call slit1.execute('add %s', slit1.path('A/foo.txt'))
|
|
|
|
call slit1.write('A/foo.txt', ['4'])
|
|
End
|
|
|
|
After all
|
|
%bwipeout!
|
|
End
|
|
|
|
Before
|
|
%bwipeout!
|
|
End
|
|
|
|
Describe Use cases
|
|
It might be called without arguments
|
|
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
|
|
GinaSync compare :
|
|
Assert Equals(tabpagenr('$'), 2)
|
|
Assert Equals(winnr('$'), 2)
|
|
" Focused buffer
|
|
Assert Equals(bufname('%'), slit1.path('A/foo.txt'))
|
|
Assert Equals(getline(1, '$'), [
|
|
\ '4',
|
|
\])
|
|
|
|
" topleft
|
|
let bufnr = winbufnr(1)
|
|
Assert Equals(bufname(bufnr), printf('gina://%s:show/:A/foo.txt', slit1.refname))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '3',
|
|
\])
|
|
" botright
|
|
let bufnr = winbufnr(2)
|
|
Assert Equals(bufname(bufnr), slit1.path('A/foo.txt'))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '4',
|
|
\])
|
|
End
|
|
|
|
It might be called with -R
|
|
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
|
|
GinaSync compare -R :
|
|
Assert Equals(tabpagenr('$'), 2)
|
|
Assert Equals(winnr('$'), 2)
|
|
" Focused buffer
|
|
Assert Equals(bufname('%'), printf('gina://%s:show/:A/foo.txt', slit1.refname))
|
|
Assert Equals(getline(1, '$'), [
|
|
\ '3',
|
|
\])
|
|
|
|
" topleft
|
|
let bufnr = winbufnr(1)
|
|
Assert Equals(bufname(bufnr), slit1.path('A/foo.txt'))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '4',
|
|
\])
|
|
" botright
|
|
let bufnr = winbufnr(2)
|
|
Assert Equals(bufname(bufnr), printf('gina://%s:show/:A/foo.txt', slit1.refname))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '3',
|
|
\])
|
|
End
|
|
|
|
It might be called with --cached
|
|
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
|
|
GinaSync compare --cached :
|
|
Assert Equals(tabpagenr('$'), 2)
|
|
Assert Equals(winnr('$'), 2)
|
|
" Focused buffer
|
|
Assert Equals(bufname('%'), printf('gina://%s:show/:A/foo.txt', slit1.refname))
|
|
Assert Equals(getline(1, '$'), [
|
|
\ '3',
|
|
\])
|
|
|
|
" topleft
|
|
let bufnr = winbufnr(1)
|
|
Assert Equals(bufname(bufnr), printf('gina://%s:show/HEAD:A/foo.txt', slit1.refname))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '2',
|
|
\])
|
|
" botright
|
|
let bufnr = winbufnr(2)
|
|
Assert Equals(bufname(bufnr), printf('gina://%s:show/:A/foo.txt', slit1.refname))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '3',
|
|
\])
|
|
End
|
|
|
|
It might be called with HEAD~
|
|
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
|
|
GinaSync compare HEAD~:
|
|
Assert Equals(tabpagenr('$'), 2)
|
|
Assert Equals(winnr('$'), 2)
|
|
" Focused buffer
|
|
Assert Equals(bufname('%'), slit1.path('A/foo.txt'))
|
|
Assert Equals(getline(1, '$'), [
|
|
\ '4',
|
|
\])
|
|
|
|
" topleft
|
|
let bufnr = winbufnr(1)
|
|
Assert Equals(bufname(bufnr), printf('gina://%s:show/HEAD~:A/foo.txt', slit1.refname))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '1',
|
|
\])
|
|
" botright
|
|
let bufnr = winbufnr(2)
|
|
Assert Equals(bufname(bufnr), slit1.path('A/foo.txt'))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '4',
|
|
\])
|
|
End
|
|
|
|
It might be called with HEAD..HEAD~
|
|
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
|
|
GinaSync compare HEAD..HEAD~:
|
|
Assert Equals(tabpagenr('$'), 2)
|
|
Assert Equals(winnr('$'), 2)
|
|
" Focused buffer
|
|
Assert Equals(bufname('%'), printf('gina://%s:show/HEAD~:A/foo.txt', slit1.refname))
|
|
Assert Equals(getline(1, '$'), [
|
|
\ '1',
|
|
\])
|
|
|
|
" topleft
|
|
let bufnr = winbufnr(1)
|
|
Assert Equals(bufname(bufnr), printf('gina://%s:show/HEAD:A/foo.txt', slit1.refname))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '2',
|
|
\])
|
|
" botright
|
|
let bufnr = winbufnr(2)
|
|
Assert Equals(bufname(bufnr), printf('gina://%s:show/HEAD~:A/foo.txt', slit1.refname))
|
|
Assert Equals(getbufline(bufnr, 1, '$'), [
|
|
\ '1',
|
|
\])
|
|
End
|
|
End
|
|
End
|