diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/bean-api-validation/pom.xml | 41 | ||||
-rw-r--r-- | test/bean-api-validation/src/test/java/com/vaadin/data/BeanValidationTest.java | 63 | ||||
-rw-r--r-- | test/bean-impl-validation/pom.xml | 50 | ||||
-rw-r--r-- | test/bean-impl-validation/src/test/java/com/vaadin/data/BeanValidationTest.java | 63 | ||||
-rw-r--r-- | test/pom.xml | 2 |
5 files changed, 219 insertions, 0 deletions
diff --git a/test/bean-api-validation/pom.xml b/test/bean-api-validation/pom.xml new file mode 100644 index 0000000000..39f5ec2afe --- /dev/null +++ b/test/bean-api-validation/pom.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.vaadin</groupId> + <artifactId>vaadin-test</artifactId> + <version>8.0-SNAPSHOT</version> + </parent> + <artifactId>vaadin-test-bean-api-validation</artifactId> + <packaging>jar</packaging> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-maven-plugin</artifactId> + <version>${jetty.version}</version> + <configuration> + <scanIntervalSeconds>-1</scanIntervalSeconds> + <stopPort>8081</stopPort> + <stopWait>5</stopWait> + <stopKey>foo</stopKey> + </configuration> + <executions> + <!-- start and stop jetty (running our app) when running + integration tests --> + <execution> + <id>start-jetty</id> + <phase></phase> + </execution> + <execution> + <id>stop-jetty</id> + <phase></phase> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> diff --git a/test/bean-api-validation/src/test/java/com/vaadin/data/BeanValidationTest.java b/test/bean-api-validation/src/test/java/com/vaadin/data/BeanValidationTest.java new file mode 100644 index 0000000000..2c9bcb5895 --- /dev/null +++ b/test/bean-api-validation/src/test/java/com/vaadin/data/BeanValidationTest.java @@ -0,0 +1,63 @@ +/* + * Copyright 2000-2016 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.data; + +import org.junit.Assert; +import org.junit.Test; + +import com.vaadin.ui.TextField; + +/** + * @author Vaadin Ltd + * + */ +public class BeanValidationTest { + + public static class Bean { + + private String property; + + public String getProperty() { + return property; + } + + public void setProperty(String property) { + this.property = property; + } + + } + + @Test + public void binderWorksWithoutBeanValidationLib() { + try { + Class.forName("javax.validation.Validation"); + Assert.fail(); + } catch (ClassNotFoundException ignored) { + } + + Binder<Bean> binder = new Binder<>(Bean.class); + + TextField field = new TextField(); + binder.forField(field).bind("property"); + + Bean bean = new Bean(); + binder.setBean(bean); + + field.setValue("foo"); + Assert.assertEquals(field.getValue(), bean.getProperty()); + + } +} diff --git a/test/bean-impl-validation/pom.xml b/test/bean-impl-validation/pom.xml new file mode 100644 index 0000000000..1e76c87a7a --- /dev/null +++ b/test/bean-impl-validation/pom.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.vaadin</groupId> + <artifactId>vaadin-test</artifactId> + <version>8.0-SNAPSHOT</version> + </parent> + <artifactId>vaadin-test-bean-impl-validation</artifactId> + <packaging>jar</packaging> + + + <dependencies> + <dependency> + <groupId>javax.validation</groupId> + <artifactId>validation-api</artifactId> + <version>1.1.0.Final</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-maven-plugin</artifactId> + <version>${jetty.version}</version> + <configuration> + <scanIntervalSeconds>-1</scanIntervalSeconds> + <stopPort>8081</stopPort> + <stopWait>5</stopWait> + <stopKey>foo</stopKey> + </configuration> + <executions> + <!-- start and stop jetty (running our app) when running + integration tests --> + <execution> + <id>start-jetty</id> + <phase></phase> + </execution> + <execution> + <id>stop-jetty</id> + <phase></phase> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> diff --git a/test/bean-impl-validation/src/test/java/com/vaadin/data/BeanValidationTest.java b/test/bean-impl-validation/src/test/java/com/vaadin/data/BeanValidationTest.java new file mode 100644 index 0000000000..a3b2fdc2c0 --- /dev/null +++ b/test/bean-impl-validation/src/test/java/com/vaadin/data/BeanValidationTest.java @@ -0,0 +1,63 @@ +/* + * Copyright 2000-2016 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.data; + +import javax.validation.Validation; + +import org.junit.Assert; +import org.junit.Test; + +import com.vaadin.ui.TextField; + +/** + * @author Vaadin Ltd + * + */ +public class BeanValidationTest { + + public static class Bean { + + private String property; + + public String getProperty() { + return property; + } + + public void setProperty(String property) { + this.property = property; + } + + } + + @Test + public void binderWorksWithoutBeanValidationImpl() { + // Just to make sure that it's available at the compilation time and in + // runtime + Assert.assertNotNull(Validation.class); + + Binder<Bean> binder = new Binder<>(Bean.class); + + TextField field = new TextField(); + binder.forField(field).bind("property"); + + Bean bean = new Bean(); + binder.setBean(bean); + + field.setValue("foo"); + Assert.assertEquals(field.getValue(), bean.getProperty()); + + } +} diff --git a/test/pom.xml b/test/pom.xml index 4fb2c5befe..d0a148cbfa 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -99,6 +99,8 @@ <module>vaadinservletconfiguration-widget-set</module> <module>spring-boot</module> <module>cdi</module> + <module>bean-api-validation</module> + <module>bean-impl-validation</module> </modules> <build> |