diff options
author | Mika Murtojarvi <mika@vaadin.com> | 2015-04-08 11:05:23 +0300 |
---|---|---|
committer | Mika Murtojarvi <mika@vaadin.com> | 2015-04-08 11:36:37 +0300 |
commit | 6abcbdf1eeb8f23ebda97df3ffad7b0abdee37ea (patch) | |
tree | beeffc67cd93cb7bbfa12cb5211270004861b87b /server/tests/src | |
parent | 8664c97c7bb6fb36b2ebbe3849b51ec00e052e24 (diff) | |
download | vaadin-framework-6abcbdf1eeb8f23ebda97df3ffad7b0abdee37ea.tar.gz vaadin-framework-6abcbdf1eeb8f23ebda97df3ffad7b0abdee37ea.zip |
Allow setting local id via DesignContext (#16584).
Change-Id: Ie599e8517823ca431d2d9e9232217db53444d7aa
Diffstat (limited to 'server/tests/src')
-rw-r--r-- | server/tests/src/com/vaadin/tests/design/DesignContextLocalIdTest.java | 60 | ||||
-rw-r--r-- | server/tests/src/com/vaadin/tests/design/local-ids.html | 4 |
2 files changed, 64 insertions, 0 deletions
diff --git a/server/tests/src/com/vaadin/tests/design/DesignContextLocalIdTest.java b/server/tests/src/com/vaadin/tests/design/DesignContextLocalIdTest.java new file mode 100644 index 0000000000..c3d7e6d8cf --- /dev/null +++ b/server/tests/src/com/vaadin/tests/design/DesignContextLocalIdTest.java @@ -0,0 +1,60 @@ +/* + * 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.design; + +import static org.junit.Assert.assertEquals; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; + +import org.junit.Test; + +import com.vaadin.ui.Button; +import com.vaadin.ui.TextField; +import com.vaadin.ui.VerticalLayout; +import com.vaadin.ui.declarative.Design; +import com.vaadin.ui.declarative.DesignContext; + +/** + * Tests that setting local id via DesignContext works as intended. + * + * @since + * @author Vaadin Ltd + */ +public class DesignContextLocalIdTest { + + @Test + public void testSetLocalId() throws FileNotFoundException { + DesignContext ctx = Design.read(new FileInputStream( + "server/tests/src/com/vaadin/tests/design/local-ids.html"), + new VerticalLayout()); + TextField tf = (TextField) ctx.getComponentByLocalId("foo"); + Button b = (Button) ctx.getComponentByLocalId("bar"); + // A duplicate id should be handled by removing the id from the old + // component. + ctx.setComponentLocalId(b, "foo"); + assertEquals("Found the wrong component by local id.", ctx + .getComponentByLocalId("foo").getClass(), Button.class); + assertEquals("Found the wrong component by local id.", + ctx.getComponentByLocalId("bar"), null); + // Set an id also for the text field. + ctx.setComponentLocalId(tf, "bar"); + assertEquals("Found the wrong component by local id.", ctx + .getComponentByLocalId("foo").getClass(), Button.class); + assertEquals("Found the wrong component by local id.", ctx + .getComponentByLocalId("bar").getClass(), TextField.class); + } +} diff --git a/server/tests/src/com/vaadin/tests/design/local-ids.html b/server/tests/src/com/vaadin/tests/design/local-ids.html new file mode 100644 index 0000000000..638d004124 --- /dev/null +++ b/server/tests/src/com/vaadin/tests/design/local-ids.html @@ -0,0 +1,4 @@ +<v-vertical-layout> + <v-text-field caption="Enter your name" _id="foo"/> + <v-button _id="bar">Say hello</v-button> +</v-vertical-layout> |