Ejemplo n.º 1
0
    def test_ctrl_c_breaks_execution(self):
        stdin = helper.event_factory(key.CTRL_C)
        message = "Foo message"
        variable = "Bar variable"

        question = questions.Confirm(variable, message)

        sut = ConsoleRender(event_generator=stdin)
        with self.assertRaises(KeyboardInterrupt):
            sut.render(question)
Ejemplo n.º 2
0
    def test_invalid_answer(self):
        stdin = helper.event_factory("Z", "Z", "Z", "Y")
        message = "Foo message"
        variable = "Bar variable"

        question = questions.Confirm(variable, message=message, default=True)

        sut = ConsoleRender(event_generator=stdin)
        result = sut.render(question)

        self.assertNotInStdout("Z")
        self.assertTrue(result)
Ejemplo n.º 3
0
    def test_invalid_answer(self):
        stdin = helper.event_factory('Z', 'Z', 'Z', 'Y')
        message = 'Foo message'
        variable = 'Bar variable'

        question = questions.Confirm(variable, message=message, default=True)

        sut = ConsoleRender(event_generator=stdin)
        result = sut.render(question)

        self.assertNotInStdout('Z')
        self.assertTrue(result)
Ejemplo n.º 4
0
    def test_answring_N(self):
        stdin = helper.event_factory("N")
        message = "Foo message"
        variable = "Bar variable"
        expected = False

        question = questions.Confirm(variable, message=message, default=True)

        sut = ConsoleRender(event_generator=stdin)
        result = sut.render(question)

        self.assertEqual(expected, result)
        self.assertInStdout(message)
        self.assertInStdout("(Y/n)")
Ejemplo n.º 5
0
    def test_no_as_default(self):
        stdin = helper.event_factory(key.ENTER)
        message = "Foo message"
        variable = "Bar variable"
        expected = False

        question = questions.Confirm(variable, message=message)

        sut = ConsoleRender(event_generator=stdin)
        result = sut.render(question)

        self.assertEqual(expected, result)
        self.assertInStdout(message)
        self.assertInStdout("(y/N)")
Ejemplo n.º 6
0
    def test_answring_n(self):
        stdin = helper.event_factory('n')
        message = 'Foo message'
        variable = 'Bar variable'
        expected = False

        question = questions.Confirm(variable, message=message, default=True)

        sut = ConsoleRender(event_generator=stdin)
        result = sut.render(question)

        self.assertEquals(expected, result)
        self.assertInStdout(message)
        self.assertInStdout('(Y/n)')
Ejemplo n.º 7
0
    def test_yes_as_default(self):
        stdin = helper.event_factory(key.ENTER)
        message = 'Foo message'
        variable = 'Bar variable'
        expected = True

        question = questions.Confirm(variable, message=message, default=True)

        sut = ConsoleRender(event_generator=stdin)
        result = sut.render(question)

        self.assertEqual(expected, result)
        self.assertInStdout(message)
        self.assertInStdout('(Y/n)')
Ejemplo n.º 8
0
    def test_default_default_value_is_false_instead_of_none(self):
        name = "foo"
        q = questions.Confirm(name)

        self.assertEqual(False, q.default)
Ejemplo n.º 9
0
def confirm(message, render=None, **kwargs):
    render = render or ConsoleRender()
    question = questions.Confirm(name="", message=message, **kwargs)
    return render.render(question)