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/custom/command.vimspec

94 lines
2.6 KiB
Plaintext
Raw Normal View History

Describe gina#custom#command
Before all
let scheme = 'status'
let pattern = '/\%(branch\|tag\)'
End
After all
%bwipeout!
call gina#custom#clear()
End
Before
%bwipeout!
call gina#custom#clear()
End
Describe #option({scheme}, {query} [, {value}])
It define {query} option for a {scheme} command
call gina#custom#command#option(scheme, '--ignore-submodule')
let args = gina#core#args#new('status')
Assert Equals(args.raw, [
\ 'status',
\ '--ignore-submodule',
\])
call gina#custom#command#option(scheme, '--untracked-files', 'all')
let args = gina#core#args#new('status')
Assert Equals(args.raw, [
\ 'status',
\ '--ignore-submodule',
\ '--untracked-files=all',
\])
let args = gina#core#args#new('status --no-ignore-submodule')
Assert Equals(args.raw, [
\ 'status',
\ '--untracked-files=all',
\])
let args = gina#core#args#new('status --untracked-files=none')
Assert Equals(args.raw, [
\ 'status',
\ '--untracked-files=none',
\ '--ignore-submodule',
\])
End
It define {query} option for commands which match with {pattern}
call gina#custom#command#option(pattern, '--opener=vsplit')
let args = gina#core#args#new('status')
Assert Equals(args.raw, [
\ 'status',
\])
let args = gina#core#args#new('branch')
Assert Equals(args.raw, [
\ 'branch',
\ '--opener=vsplit',
\])
let args = gina#core#args#new('tag')
Assert Equals(args.raw, [
\ 'tag',
\ '--opener=vsplit',
\])
End
End
Describe #alias({scheme}, {alias} [, {raw}])
It define an alias of {scheme} command to {alias}
let args = gina#core#args#new('st')
Assert Equals(args.raw, ['st'])
call gina#custom#command#alias('status', 'st')
let args = gina#core#args#new('st')
Assert Equals(args.raw, ['status'])
call gina#custom#command#alias('status', 'st', 1)
let args = gina#core#args#new('st')
Assert Equals(args.raw, ['_raw', 'status'])
End
It 's namespace for options are distinct from an original command
call gina#custom#command#option('status', '--ignore-submodule')
call gina#custom#command#alias('status', 'st')
let args = gina#core#args#new('status')
Assert Equals(args.raw, ['status', '--ignore-submodule'])
let args = gina#core#args#new('st')
Assert Equals(args.raw, ['status'])
End
End
End