mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-07-13 01:20:24 +02:00
add show_hidden and show_deprecated tests
This commit is contained in:
@ -1,3 +1,4 @@
|
|||||||
|
from copy import deepcopy
|
||||||
import unittest
|
import unittest
|
||||||
from typing import Generator
|
from typing import Generator
|
||||||
import jc.lib
|
import jc.lib
|
||||||
@ -74,5 +75,66 @@ class MyTests(unittest.TestCase):
|
|||||||
def test_lib_modname_to_cliname(self):
|
def test_lib_modname_to_cliname(self):
|
||||||
self.assertEqual(jc.lib._modname_to_cliname('module_name'), 'module-name')
|
self.assertEqual(jc.lib._modname_to_cliname('module_name'), 'module-name')
|
||||||
|
|
||||||
|
def test_lib_all_parser_info_show_deprecated(self):
|
||||||
|
# save old state
|
||||||
|
old_parsers = deepcopy(jc.lib.parsers)
|
||||||
|
old_get_parser = deepcopy(jc.lib._get_parser)
|
||||||
|
|
||||||
|
# mock data
|
||||||
|
class mock_parser_info:
|
||||||
|
name = "deprecated"
|
||||||
|
argument = "--deprecated"
|
||||||
|
version = "1.1"
|
||||||
|
description = "`deprecated` command parser"
|
||||||
|
author = "nobody"
|
||||||
|
author_email = "nobody@gmail.com"
|
||||||
|
compatible = ["linux", "darwin"]
|
||||||
|
magic_commands = ["deprecated"]
|
||||||
|
deprecated = True
|
||||||
|
|
||||||
|
class mock_parser:
|
||||||
|
info = mock_parser_info
|
||||||
|
|
||||||
|
jc.lib.parsers = ['deprecated']
|
||||||
|
jc.lib._get_parser = lambda x: mock_parser
|
||||||
|
result = jc.lib.all_parser_info(show_deprecated=True)
|
||||||
|
|
||||||
|
# reset
|
||||||
|
jc.lib.parsers = old_parsers
|
||||||
|
jc.lib._get_parser = old_get_parser
|
||||||
|
|
||||||
|
self.assertEqual(len(result), 1)
|
||||||
|
|
||||||
|
def test_lib_all_parser_info_show_hidden(self):
|
||||||
|
# save old state
|
||||||
|
old_parsers = deepcopy(jc.lib.parsers)
|
||||||
|
old_get_parser = deepcopy(jc.lib._get_parser)
|
||||||
|
|
||||||
|
# mock data
|
||||||
|
class mock_parser_info:
|
||||||
|
name = "deprecated"
|
||||||
|
argument = "--deprecated"
|
||||||
|
version = "1.1"
|
||||||
|
description = "`deprecated` command parser"
|
||||||
|
author = "nobody"
|
||||||
|
author_email = "nobody@gmail.com"
|
||||||
|
compatible = ["linux", "darwin"]
|
||||||
|
magic_commands = ["deprecated"]
|
||||||
|
hidden = True
|
||||||
|
|
||||||
|
class mock_parser:
|
||||||
|
info = mock_parser_info
|
||||||
|
|
||||||
|
jc.lib.parsers = ['deprecated']
|
||||||
|
jc.lib._get_parser = lambda x: mock_parser
|
||||||
|
result = jc.lib.all_parser_info(show_hidden=True)
|
||||||
|
|
||||||
|
# reset
|
||||||
|
jc.lib.parsers = old_parsers
|
||||||
|
jc.lib._get_parser = old_get_parser
|
||||||
|
|
||||||
|
self.assertEqual(len(result), 1)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
Reference in New Issue
Block a user