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

138 lines
4.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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