mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 16:10:05 +08:00
138 lines
4.2 KiB
Plaintext
138 lines
4.2 KiB
Plaintext
|
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[m',
|
|||
|
\ '* [32mmaster[m',
|
|||
|
\])
|
|||
|
Assert Equals(gina#action#candidates(1, line('$')), [
|
|||
|
\ {
|
|||
|
\ '__lnum': 1,
|
|||
|
\ 'abbr': ' develop[m',
|
|||
|
\ 'word': ' develop',
|
|||
|
\ 'sign': ' ',
|
|||
|
\ 'alias': '',
|
|||
|
\ 'remote': '',
|
|||
|
\ 'branch': 'develop',
|
|||
|
\ 'rev': 'develop',
|
|||
|
\ },
|
|||
|
\ {
|
|||
|
\ '__lnum': 2,
|
|||
|
\ 'abbr': '* [32mmaster[m',
|
|||
|
\ '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, '$'), [
|
|||
|
\ ' [31mext/master[m',
|
|||
|
\])
|
|||
|
Assert Equals(gina#action#candidates(1, line('$')), [
|
|||
|
\ {
|
|||
|
\ '__lnum': 1,
|
|||
|
\ 'abbr': ' [31mext/master[m',
|
|||
|
\ '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[m',
|
|||
|
\ '* [32mmaster[m',
|
|||
|
\ ' [31mremotes/ext/master[m',
|
|||
|
\])
|
|||
|
Assert Equals(gina#action#candidates(1, line('$')), [
|
|||
|
\ {
|
|||
|
\ '__lnum': 1,
|
|||
|
\ 'abbr': ' develop[m',
|
|||
|
\ 'word': ' develop',
|
|||
|
\ 'sign': ' ',
|
|||
|
\ 'alias': '',
|
|||
|
\ 'remote': '',
|
|||
|
\ 'branch': 'develop',
|
|||
|
\ 'rev': 'develop',
|
|||
|
\ },
|
|||
|
\ {
|
|||
|
\ '__lnum': 2,
|
|||
|
\ 'abbr': '* [32mmaster[m',
|
|||
|
\ 'word': '* master',
|
|||
|
\ 'sign': '*',
|
|||
|
\ 'alias': '',
|
|||
|
\ 'remote': '',
|
|||
|
\ 'branch': 'master',
|
|||
|
\ 'rev': 'master',
|
|||
|
\ },
|
|||
|
\ {
|
|||
|
\ '__lnum': 3,
|
|||
|
\ 'abbr': ' [31mremotes/ext/master[m',
|
|||
|
\ 'word': ' remotes/ext/master',
|
|||
|
\ 'sign': ' ',
|
|||
|
\ 'alias': '',
|
|||
|
\ 'remote': 'ext',
|
|||
|
\ 'branch': 'master',
|
|||
|
\ 'rev': 'ext/master',
|
|||
|
\ },
|
|||
|
\])
|
|||
|
End
|
|||
|
End
|
|||
|
End
|