diff options
Diffstat (limited to 'uitest/src/com')
-rw-r--r-- | uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderTest.java | 66 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/dataprovider/DummyDataProviderUI.java | 12 |
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)); |