def test_card_draw_form_select(): """ Ensure the expected form widget and associated label are added to the screen's layout instance. """ card = Card( "title", form=Inputs.SELECT, text="Form label...", options=["foo", "bar", "baz"], ) card.layout = mock.MagicMock() card.font_size = "48sp" card._draw_form() assert card.form_label.text == "Form label..." assert card.form_label.font_size == 48.0 assert card.form_label.markup is True assert card.form_label.color == [1.0, 1.0, 1.0, 1.0] assert card.form_label.valign == "top" assert card.form_label.halign == "left" assert len(card.select) == 3 assert card.select[0].text == "foo" assert card.select[0].group == "title" assert card.select[1].text == "bar" assert card.select[1].group == "title" assert card.select[2].text == "baz" assert card.select[2].group == "title"
def test_card_draw_form_textarea(): """ Ensure the expected form widget and associated label are added to the screen's layout instance. """ card = Card("title", form=Inputs.TEXTAREA, text="Form label...") card.layout = mock.MagicMock() card.font_size = "48sp" card._draw_form() assert card.form_label.text == "Form label..." assert card.form_label.font_size == 48.0 assert card.form_label.markup is True assert card.form_label.color == [1.0, 1.0, 1.0, 1.0] assert card.form_label.valign == "top" assert card.form_label.halign == "left" assert card.textarea.text == "" assert card.textarea.multiline is True assert card.textarea.font_size == 48.0
def test_card_screen_with_form(): """ A card with a form has the expected _draw_form method called to paint it onto the screen. """ mock_screen_manager = mock.MagicMock() data_store = {"foo": "bar"} card = Card("title", form=Inputs.TEXTBOX, text="Form instructions...") card._draw_form = mock.MagicMock() card.screen(mock_screen_manager, data_store) card._draw_form.assert_called_once_with()
def test_card_draw_form_slider_default_step(): """ Ensure the expected form widget and associated label are added to the screen's layout instance. """ card = Card( "title", form=Inputs.SLIDER, text="Form label...", options=(1, 100) ) card.layout = mock.MagicMock() card.font_size = "48sp" card._draw_form() assert card.form_label.text == "Form label..." assert card.form_label.font_size == 48.0 assert card.form_label.markup is True assert card.form_label.color == [1.0, 1.0, 1.0, 1.0] assert card.form_label.valign == "top" assert card.form_label.halign == "left" assert card.slider_label.text == "0" assert card.slider_label.font_size == 64.0 assert card.slider.min == 1 assert card.slider.max == 100 assert card.slider.step == 1 assert card.slider.value_track is True