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

89 lines
2.9 KiB
Plaintext
Vendored
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#status
Before all
let Path = vital#gina#import('System.Filepath')
let slit1 = Slit(tempname(), 1)
call slit1.write('A/foo.txt', [])
call slit1.execute('add %s', slit1.path('A/foo.txt'))
call slit1.write('A/foo.txt', ['1'])
call slit1.execute('commit --quiet -am "First"')
call slit1.write('A/foo.txt', ['2'])
call slit1.execute('commit --quiet -am "Second"')
call slit1.write('A/foo.txt', ['3'])
call slit1.execute('add %s', slit1.path('A/foo.txt'))
call slit1.write('A/foo.txt', ['4'])
End
After all
%bwipeout!
End
Before
%bwipeout!
End
Describe Use cases
It might be called without arguments
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync status
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:status', slit1.refname))
Assert Match(join(getline(1, '$'), "\n"), 'modified: A/foo.txt')
Assert Match(join(getline(1, '$'), "\n"), 'modified: A/foo.txt')
End
It might be called with -- A/*.txt
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync status -- A/*.txt
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:status:--', slit1.refname))
Assert Match(join(getline(1, '$'), "\n"), 'modified: A/foo.txt')
Assert Match(join(getline(1, '$'), "\n"), 'modified: A/foo.txt')
End
It might be called with -- A/*.vim
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync status -- A/*.vim
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:status:--', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'On branch master',
\ 'nothing to commit, working tree clean',
\])
End
End
Describe Use cases (--short)
It might be called without arguments
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync status --short
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:status', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'MM A/foo.txt'
\])
End
It might be called with -- A/*.txt
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync status --short -- A/*.txt
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:status:--', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'MM A/foo.txt'
\])
End
It might be called with -- A/*.vim
execute 'edit' fnameescape(slit1.path('A/foo.txt'))
GinaSync status --short -- A/*.vim
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:status:--', slit1.refname))
Assert Equals(getline(1, '$'), [''])
End
End
End