aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldIsValid.java
blob: c2a1480ba1a6d797fbcb5b3d52b9ae8e54f6acf7 (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
package com.vaadin.tests.components.datefield;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUIWithLog;
import com.vaadin.tests.components.TestDateField;
import com.vaadin.ui.AbstractLocalDateField;

public class DateFieldIsValid extends AbstractTestUIWithLog {

    @Override
    protected String getTestDescription() {
        return "A dateField with invalid text should return false in isValid both when "
                + "handling ValueChange event and after value is changed.";
    }

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

    private String pattern = "dd/MM/yy";
    private DateTimeFormatter format = DateTimeFormatter.ofPattern(pattern);

    @Override
    protected void setup(VaadinRequest request) {
        final AbstractLocalDateField dateField = new TestDateField(
                "Insert Date: ");
        dateField.setDateFormat(pattern);

        dateField.addValueChangeListener(event -> log("valueChange: value: "
                + format(dateField.getValue()) + ", is valid: "
                + (dateField.getErrorMessage() == null)));
        addComponent(dateField);
        addButton("check dateField",
                event -> log("buttonClick: value: "
                        + format(dateField.getValue()) + ", is valid: "
                        + (dateField.getErrorMessage() == null)));
    }

    protected String format(LocalDate value) {
        if (value != null) {
            return format.format(value);
        } else {
            return null;
        }
    }
}