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