Beispiel #1
0
    def test_helpers(self):

        caller = self.caller

        # general helpers

        self.assertEqual(olc_menus._get_menu_prototype(caller), {})
        self.assertEqual(olc_menus._is_new_prototype(caller), True)

        self.assertEqual(olc_menus._set_menu_prototype(caller, {}), {})

        self.assertEqual(
            olc_menus._set_prototype_value(caller, "key", "TestKey"), {"key": "TestKey"}
        )
        self.assertEqual(olc_menus._get_menu_prototype(caller), {"key": "TestKey"})

        self.assertEqual(
            olc_menus._format_option_value(
                "key", required=True, prototype=olc_menus._get_menu_prototype(caller)
            ),
            " (TestKey|n)",
        )
        self.assertEqual(
            olc_menus._format_option_value([1, 2, 3, "foo"], required=True), " (1, 2, 3, foo|n)"
        )

        self.assertEqual(
            olc_menus._set_property(
                caller, "ChangedKey", prop="key", processor=str, next_node="foo"
            ),
            "foo",
        )
        self.assertEqual(olc_menus._get_menu_prototype(caller), {"key": "ChangedKey"})

        self.assertEqual(
            olc_menus._wizard_options("ThisNode", "PrevNode", "NextNode"),
            [
                {"goto": "node_PrevNode", "key": ("|wB|Wack", "b"), "desc": "|W(PrevNode)|n"},
                {"goto": "node_NextNode", "key": ("|wF|Worward", "f"), "desc": "|W(NextNode)|n"},
                {"goto": "node_index", "key": ("|wI|Wndex", "i")},
                {
                    "goto": ("node_validate_prototype", {"back": "ThisNode"}),
                    "key": ("|wV|Walidate prototype", "validate", "v"),
                },
            ],
        )

        self.assertEqual(olc_menus._validate_prototype(self.test_prot), (False, Something))
        self.assertEqual(
            olc_menus._validate_prototype({"prototype_key": "testthing", "key": "mytest"}),
            (True, Something),
        )

        choices = ["test1", "test2", "test3", "test4"]
        actions = (("examine", "e", "l"), ("add", "a"), ("foo", "f"))
        self.assertEqual(olc_menus._default_parse("l4", choices, *actions), ("test4", "examine"))
        self.assertEqual(olc_menus._default_parse("add 2", choices, *actions), ("test2", "add"))
        self.assertEqual(olc_menus._default_parse("foo3", choices, *actions), ("test3", "foo"))
        self.assertEqual(olc_menus._default_parse("f3", choices, *actions), ("test3", "foo"))
        self.assertEqual(olc_menus._default_parse("f5", choices, *actions), (None, None))
Beispiel #2
0
    def test_helpers(self):

        caller = self.caller

        # general helpers

        self.assertEqual(olc_menus._get_menu_prototype(caller), {})
        self.assertEqual(olc_menus._is_new_prototype(caller), True)

        self.assertEqual(olc_menus._set_menu_prototype(caller, {}), {})

        self.assertEqual(
            olc_menus._set_prototype_value(caller, "key", "TestKey"),
            {"key": "TestKey"})
        self.assertEqual(olc_menus._get_menu_prototype(caller),
                         {"key": "TestKey"})

        self.assertEqual(
            olc_menus._format_option_value(
                "key",
                required=True,
                prototype=olc_menus._get_menu_prototype(caller)),
            " (TestKey|n)")
        self.assertEqual(
            olc_menus._format_option_value([1, 2, 3, "foo"], required=True),
            ' (1, 2, 3, foo|n)')

        self.assertEqual(
            olc_menus._set_property(caller,
                                    "ChangedKey",
                                    prop="key",
                                    processor=str,
                                    next_node="foo"), "foo")
        self.assertEqual(olc_menus._get_menu_prototype(caller),
                         {"key": "ChangedKey"})

        self.assertEqual(
            olc_menus._wizard_options("ThisNode", "PrevNode", "NextNode"),
            [{
                'goto': 'node_PrevNode',
                'key': ('|wB|Wack', 'b'),
                'desc': '|W(PrevNode)|n'
            }, {
                'goto': 'node_NextNode',
                'key': ('|wF|Worward', 'f'),
                'desc': '|W(NextNode)|n'
            }, {
                'goto': 'node_index',
                'key': ('|wI|Wndex', 'i')
            }, {
                'goto': ('node_validate_prototype', {
                    'back': 'ThisNode'
                }),
                'key': ('|wV|Walidate prototype', 'validate', 'v')
            }])

        self.assertEqual(olc_menus._validate_prototype(self.test_prot),
                         (False, Something))
        self.assertEqual(
            olc_menus._validate_prototype({
                "prototype_key": "testthing",
                "key": "mytest"
            }), (True, Something))

        choices = ["test1", "test2", "test3", "test4"]
        actions = (("examine", "e", "l"), ("add", "a"), ("foo", "f"))
        self.assertEqual(olc_menus._default_parse("l4", choices, *actions),
                         ('test4', 'examine'))
        self.assertEqual(olc_menus._default_parse("add 2", choices, *actions),
                         ('test2', 'add'))
        self.assertEqual(olc_menus._default_parse("foo3", choices, *actions),
                         ('test3', 'foo'))
        self.assertEqual(olc_menus._default_parse("f3", choices, *actions),
                         ('test3', 'foo'))
        self.assertEqual(olc_menus._default_parse("f5", choices, *actions),
                         (None, None))