mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 14:00:06 +08:00
138 lines
4.2 KiB
Plaintext
Vendored
138 lines
4.2 KiB
Plaintext
Vendored
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
|