Ejemplo n.º 1
0
    def test_enumreader(self, prompt_mock):
        spec = {
            "enum": ["some", "thing", "else"],
            "description": "some description",
            "default": "thing",
        }
        Reader = interactive.EnumReader("some", spec)

        prompt_mock.return_value = "2"
        result = Reader.read()

        self.assertEqual(result, "else")
        message = "some: \n 0 - some\n 1 - thing\n 2 - else\nChoose from 0, 1, 2 [1]: "
        self.assertPromptMessage(prompt_mock, message)
        self.assertPromptDescription(prompt_mock, "some description")
        self.assertPromptValidate(prompt_mock, "0")
        self.assertRaises(
            prompt_toolkit.validation.ValidationError,
            self.assertPromptValidate,
            prompt_mock,
            "some",
        )
        self.assertRaises(
            prompt_toolkit.validation.ValidationError,
            self.assertPromptValidate,
            prompt_mock,
            "5",
        )

        prompt_mock.return_value = ""
        result = Reader.read()

        self.assertEqual(result, "thing")
        self.assertPromptValidate(prompt_mock, "")
Ejemplo n.º 2
0
    def test_enumreader(self, prompt_mock):
        spec = {
            'enum': ['some', 'thing', 'else'],
            'description': 'some description',
            'default': 'thing'
        }
        Reader = interactive.EnumReader('some', spec)

        prompt_mock.return_value = '2'
        result = Reader.read()

        self.assertEqual(result, 'else')
        message = 'some: \n 0 - some\n 1 - thing\n 2 - else\nChoose from 0, 1, 2 [1]: '
        self.assertPromptMessage(prompt_mock, message)
        self.assertPromptDescription(prompt_mock, 'some description')
        self.assertPromptValidate(prompt_mock, '0')
        self.assertRaises(prompt_toolkit.validation.ValidationError,
                          self.assertPromptValidate, prompt_mock, 'some')
        self.assertRaises(prompt_toolkit.validation.ValidationError,
                          self.assertPromptValidate, prompt_mock, '5')

        prompt_mock.return_value = ''
        result = Reader.read()

        self.assertEqual(result, 'thing')
        self.assertPromptValidate(prompt_mock, '')