Example #1
0
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"
Example #2
0
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
Example #3
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()
Example #4
0
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