git reimport
This commit is contained in:
49
tests/zvk/plugins/vk/test_signatures.py
Normal file
49
tests/zvk/plugins/vk/test_signatures.py
Normal file
@@ -0,0 +1,49 @@
|
||||
import pytest
|
||||
|
||||
from zvk.plugins.vk.command import Argument, CommandEventConsumer, CommandParseException
|
||||
|
||||
|
||||
def test_signatures_easy():
|
||||
a = CommandEventConsumer('a', Argument('n', type=int))
|
||||
|
||||
assert a.parse_argstring('1') == {'n': 1}
|
||||
|
||||
with pytest.raises(Exception):
|
||||
assert a.parse_argstring('dsa') == {'n': 1}
|
||||
|
||||
with pytest.raises(CommandParseException):
|
||||
assert a.parse_argstring('-h')
|
||||
|
||||
with pytest.raises(CommandParseException):
|
||||
assert a.parse_argstring('dsa')
|
||||
|
||||
with pytest.raises(CommandParseException):
|
||||
assert a.parse_argstring('')
|
||||
|
||||
with pytest.raises(CommandParseException):
|
||||
assert a.parse_argstring('--arg=1')
|
||||
|
||||
assert a.parse_argstring('"1"') == {'n': 1}
|
||||
|
||||
with pytest.raises(CommandParseException):
|
||||
assert a.parse_argstring('"')
|
||||
|
||||
|
||||
def test_signatures_complex():
|
||||
a = CommandEventConsumer('a',
|
||||
Argument('n', nargs='?', type=int, default=0),
|
||||
Argument('-n', '--n', dest='m', type=int, default=2),
|
||||
Argument('-v', action='store_true'),
|
||||
Argument('--s', type=str))
|
||||
|
||||
assert a.parse_argstring('1') == {'n': 1, 'm': 2, 'v': False, 's': None}
|
||||
assert a.parse_argstring('--n=1') == {'n': 0, 'm': 1, 'v': False, 's': None}
|
||||
assert a.parse_argstring('--n 1') == {'n': 0, 'm': 1, 'v': False, 's': None}
|
||||
assert a.parse_argstring('-n 1') == {'n': 0, 'm': 1, 'v': False, 's': None}
|
||||
assert a.parse_argstring('-vn1') == {'n': 0, 'm': 1, 'v': True, 's': None}
|
||||
|
||||
|
||||
def test_signatures_whole():
|
||||
a = CommandEventConsumer('a', whole_argstring=True)
|
||||
|
||||
assert a.parse_argstring('d ksja jd j jj jj --n -h 2') == {'argstring': 'd ksja jd j jj jj --n -h 2'}
|
Reference in New Issue
Block a user