1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 12:50:03 +08:00
SpaceVim/bundle/gina.vim/test/gina/command/chaperon.vimspec

80 lines
2.2 KiB
Plaintext

Describe gina#command#chaperon
Before all
let Path = vital#gina#import('System.Filepath')
let slit1 = Slit(tempname(), 1)
let filename1 = slit1.path('A/foo.txt')
let filename2 = slit1.path('B/foo.txt')
call slit1.write('A/foo.txt', [])
call slit1.write('B/foo.txt', [])
call slit1.execute('add %s', slit1.path('A/foo.txt'))
call slit1.execute('add %s', slit1.path('B/foo.txt'))
call slit1.write('A/foo.txt', ['1'])
call slit1.execute('commit --quiet -am "First"')
call slit1.execute('checkout -b develop')
call slit1.execute('checkout master')
call slit1.write('A/foo.txt', ['2'])
call slit1.execute('commit --quiet -am "Second"')
call slit1.execute('checkout develop')
call slit1.write('A/foo.txt', ['3'])
call slit1.execute('commit --quiet -am "Third"')
call slit1.execute('checkout master')
call slit1.execute('merge develop')
End
After all
%bwipeout!
End
Before
%bwipeout!
End
Describe Use cases
It might be called without arguments
execute 'edit' fnameescape(filename1)
GinaSync chaperon
Assert Equals(tabpagenr('$'), 2)
Assert Equals(winnr('$'), 3)
" Focused buffer
Assert Equals(bufname('%'), filename1)
Assert Equals(getline(1, '$'), [
\ '',
\])
" topleft
let bufnr = winbufnr(1)
Assert Equals(bufname(bufnr), printf('gina://%s:show/:2:A/foo.txt', slit1.refname))
Assert Equals(getbufline(bufnr, 1, '$'), [
\ '2',
\])
" center
let bufnr = winbufnr(2)
Assert Equals(bufname(bufnr), filename1)
Assert Equals(getbufline(bufnr, 1, '$'), [
\ '',
\])
" botright
let bufnr = winbufnr(3)
Assert Equals(bufname(bufnr), printf('gina://%s:show/:3:A/foo.txt', slit1.refname))
Assert Equals(getbufline(bufnr, 1, '$'), [
\ '3',
\])
" dor obtain changes from right
normal dor
Assert Equals(getline(1, '$'), [
\ '3',
\])
" dol obtain changes from left
normal dol
Assert Equals(getline(1, '$'), [
\ '2',
\])
End
End
End