aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/elements/button/ButtonUI.java
blob: f7cf9292e4a93a3773064b35922379ebff382df7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.vaadin.tests.elements.button;

import com.vaadin.server.FontAwesome;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.Label;
import com.vaadin.ui.TextField;
import com.vaadin.ui.themes.ValoTheme;

@SuppressWarnings("serial")
public class ButtonUI extends AbstractTestUI {

    public static final String TEXT_FIELD_ID = "testTextfield";
    public static final String LABEL_ID = "testLabel";
    public static String QUIET_BUTTON_ID = "quietButton";
    public static String QUIET_BUTTON_NO_CAPTION_ID = "quietButton2";
    public static String NORMAL_BUTTON_ID = "normalButton";

    final TextField testedField = new TextField();
    final Label testedLabel = new Label();

    @Override
    protected void setup(VaadinRequest request) {
        testedField.setId(TEXT_FIELD_ID);
        addComponent(testedField);
        testedLabel.setId(LABEL_ID);
        addComponent(testedLabel);

        testedField.setValue("");

        Button quietButton = new Button("Quiet Button");
        quietButton.setId(QUIET_BUTTON_ID);
        quietButton.addStyleName(ValoTheme.BUTTON_QUIET);
        addListener(quietButton, "Clicked");

        Button quietButtonNoCaption = new Button("");
        quietButtonNoCaption.setId(QUIET_BUTTON_NO_CAPTION_ID);
        quietButtonNoCaption.addStyleName(ValoTheme.BUTTON_QUIET);
        quietButtonNoCaption.setIcon(FontAwesome.ANDROID);
        addListener(quietButtonNoCaption, "Clicked");

        addComponent(quietButton);
        addComponent(quietButtonNoCaption);
        addComponent(addButtonWithDelay());

    }

    private Button addButtonWithDelay() {
        Button btn = new Button();
        btn.setId(NORMAL_BUTTON_ID);
        btn.addClickListener(event -> {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
            }
            testedField.setValue("Clicked");
            testedLabel.setValue("Clicked");
        });
        return btn;
    }

    private void addListener(Button button, final String clickEventText) {
        button.addClickListener(event -> testedField.setValue(clickEventText));
    }

    @Override
    protected String getTestDescription() {
        return "Test button click, for button with ValoTheme.BUTTON_QUIET style";
    }

    @Override
    protected Integer getTicketNumber() {
        return 16346;
    }

}