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

138 lines
4.2 KiB
Plaintext
Raw Normal View History

Describe gina#command#branch
Before all
let Path = vital#gina#import('System.Filepath')
let slit1 = Slit(tempname(), 1)
let slit2 = Slit(tempname(), 1)
call slit1.write('A/foo.txt', [])
call slit1.write('B/foo.txt', [])
call slit1.write('C/foo.txt', [])
call slit2.write('A/foo.txt', [])
call slit2.write('B/foo.txt', [])
call slit2.write('C/foo.txt', [])
call slit1.execute('add %s', slit1.path('A/foo.txt'))
call slit1.execute('commit --quiet -m "First"')
call slit1.execute('checkout -b develop')
call slit1.execute('add %s', slit1.path('B/foo.txt'))
call slit1.execute('commit --quiet -m "Second"')
call slit1.execute('checkout master')
call slit1.execute('add %s', slit1.path('C/foo.txt'))
call slit1.execute('commit --quiet -m "Thrid"')
call slit2.execute('add %s', slit2.path('A/foo.txt'))
call slit2.execute('commit --quiet -m "Forth"')
call slit1.execute('remote add ext %s', slit2.worktree)
call slit1.execute('fetch ext')
call slit1.execute('checkout -track -b ext/master remotes/ext/master')
call slit1.execute('checkout master')
End
After all
%bwipeout!
End
Before
%bwipeout!
execute 'edit' fnameescape(slit1.worktree)
End
Describe Use cases
It might be called without arguments
GinaSync branch
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:branch', slit1.refname))
Assert Equals(getline(1, '$'), [
\ ' develop',
\ '* master',
\])
Assert Equals(gina#action#candidates(1, line('$')), [
\ {
\ '__lnum': 1,
\ 'abbr': ' develop',
\ 'word': ' develop',
\ 'sign': ' ',
\ 'alias': '',
\ 'remote': '',
\ 'branch': 'develop',
\ 'rev': 'develop',
\ },
\ {
\ '__lnum': 2,
\ 'abbr': '* master',
\ 'word': '* master',
\ 'sign': '*',
\ 'alias': '',
\ 'remote': '',
\ 'branch': 'master',
\ 'rev': 'master',
\ },
\])
End
It might be called with --remotes
GinaSync branch --remotes
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:branch', slit1.refname))
Assert Equals(getline(1, '$'), [
\ ' ext/master',
\])
Assert Equals(gina#action#candidates(1, line('$')), [
\ {
\ '__lnum': 1,
\ 'abbr': ' ext/master',
\ 'word': ' ext/master',
\ 'sign': ' ',
\ 'alias': '',
\ 'remote': '',
\ 'branch': 'ext/master',
\ 'rev': 'ext/master',
\ },
\])
End
It might be called with --all
GinaSync branch --all
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:branch', slit1.refname))
Assert Equals(getline(1, '$'), [
\ ' develop',
\ '* master',
\ ' remotes/ext/master',
\])
Assert Equals(gina#action#candidates(1, line('$')), [
\ {
\ '__lnum': 1,
\ 'abbr': ' develop',
\ 'word': ' develop',
\ 'sign': ' ',
\ 'alias': '',
\ 'remote': '',
\ 'branch': 'develop',
\ 'rev': 'develop',
\ },
\ {
\ '__lnum': 2,
\ 'abbr': '* master',
\ 'word': '* master',
\ 'sign': '*',
\ 'alias': '',
\ 'remote': '',
\ 'branch': 'master',
\ 'rev': 'master',
\ },
\ {
\ '__lnum': 3,
\ 'abbr': ' remotes/ext/master',
\ 'word': ' remotes/ext/master',
\ 'sign': ' ',
\ 'alias': '',
\ 'remote': 'ext',
\ 'branch': 'master',
\ 'rev': 'ext/master',
\ },
\])
End
End
End