aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com')
-rw-r--r--uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderTest.java66
-rw-r--r--uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderUI.java12
2 files changed, 75 insertions, 3 deletions
diff --git a/uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderTest.java b/uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderTest.java
new file mode 100644
index 0000000000..9771f7b0f6
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2000-2014 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.tests.dataprovider;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.List;
+import java.util.Random;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+
+import com.vaadin.shared.data.DataProviderConstants;
+import com.vaadin.tests.fieldgroup.ComplexPerson;
+import com.vaadin.tests.tb3.SingleBrowserTest;
+
+import elemental.json.Json;
+import elemental.json.JsonObject;
+
+public class DummyDataProviderTest extends SingleBrowserTest {
+
+ @Override
+ protected Class<?> getUIClass() {
+ return DummyDataProviderUI.class;
+ }
+
+ @Test
+ public void testVerifyJsonContent() {
+ Random r = new Random(DummyDataProviderUI.RANDOM_SEED);
+ List<ComplexPerson> persons = DummyDataProviderUI.createPersons(
+ DummyDataProviderUI.PERSON_COUNT, r);
+
+ openTestURL();
+
+ int size = DummyDataProviderUI.PERSON_COUNT + 1;
+ List<WebElement> labels = findElements(By.className("v-label"));
+
+ assertEquals("Label count did not match person count", size,
+ labels.size());
+
+ List<WebElement> personData = labels.subList(1, size);
+
+ int key = 0;
+ for (WebElement e : personData) {
+ JsonObject j = Json.createObject();
+ ComplexPerson p = persons.get(key);
+ j.put(DataProviderConstants.KEY, "" + (++key));
+ j.put("name", p.getLastName() + ", " + p.getFirstName());
+ assertEquals("Json did not match.", j.toJson(), e.getText());
+ }
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderUI.java b/uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderUI.java
index 62aa8c2241..26a0277274 100644
--- a/uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderUI.java
+++ b/uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderUI.java
@@ -56,6 +56,10 @@ public class DummyDataProviderUI extends AbstractTestUI {
+ data.getFirstName();
dataObject.put("name", name);
}
+
+ @Override
+ public void destroyData(ComplexPerson data) {
+ }
});
}
@@ -72,8 +76,10 @@ public class DummyDataProviderUI extends AbstractTestUI {
}
}
- private Random r = new Random(1337);
- private List<ComplexPerson> persons = getPersons(20);
+ public static final int RANDOM_SEED = 1337;
+ public static final int PERSON_COUNT = 20;
+ private Random r = new Random(RANDOM_SEED);
+ private List<ComplexPerson> persons = createPersons(PERSON_COUNT, r);
private DummyDataComponent dummy;
@Override
@@ -98,7 +104,7 @@ public class DummyDataProviderUI extends AbstractTestUI {
addComponent(dummy);
}
- private List<ComplexPerson> getPersons(int count) {
+ public static List<ComplexPerson> createPersons(int count, Random r) {
List<ComplexPerson> c = new ArrayList<ComplexPerson>();
for (int i = 0; i < count; ++i) {
c.add(ComplexPerson.create(r));