summaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorArtur <artur@vaadin.com>2017-01-13 10:26:11 +0200
committerGitHub <noreply@github.com>2017-01-13 10:26:11 +0200
commit8fca887996e063470379dcf3b47d6bcff3c9839c (patch)
tree33badf44bf23dbc76f1b7830dc0a583302a51f17 /uitest
parent0c471fbab5149b2bf7851631706cef2fda29a1d9 (diff)
downloadvaadin-framework-8fca887996e063470379dcf3b47d6bcff3c9839c.tar.gz
vaadin-framework-8fca887996e063470379dcf3b47d6bcff3c9839c.zip
Support for defining the root element for Javascript components (#8143)
Fixes #7005
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpan.java46
-rw-r--r--uitest/src/main/resources/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanComponent.js6
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanTest.java31
3 files changed, 83 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpan.java b/uitest/src/main/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpan.java
new file mode 100644
index 0000000000..7c1a79471b
--- /dev/null
+++ b/uitest/src/main/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpan.java
@@ -0,0 +1,46 @@
+/*
+ * 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.components.javascriptcomponent;
+
+import com.vaadin.annotations.JavaScript;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.shared.ui.JavaScriptComponentState;
+import com.vaadin.tests.components.AbstractTestUIWithLog;
+import com.vaadin.ui.AbstractJavaScriptComponent;
+
+public class JavaScriptSpan extends AbstractTestUIWithLog {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ addComponent(new Span("Hello World"));
+ }
+
+ @JavaScript("JavaScriptSpanComponent.js")
+ public static class Span extends AbstractJavaScriptComponent {
+ public Span(String text) {
+ this.getState().text = text;
+ }
+
+ @Override
+ protected SpanState getState() {
+ return (SpanState) super.getState();
+ }
+ }
+
+ public static class SpanState extends JavaScriptComponentState {
+ public String text;
+ }
+}
diff --git a/uitest/src/main/resources/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanComponent.js b/uitest/src/main/resources/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanComponent.js
new file mode 100644
index 0000000000..c217a10ed6
--- /dev/null
+++ b/uitest/src/main/resources/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanComponent.js
@@ -0,0 +1,6 @@
+com_vaadin_tests_components_javascriptcomponent_JavaScriptSpan_Span = function() {
+ this.onStateChange = function() {
+ this.getElement().innerText = this.getState().text;
+ }
+}
+com_vaadin_tests_components_javascriptcomponent_JavaScriptSpan_Span.tag = "span";
diff --git a/uitest/src/test/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanTest.java b/uitest/src/test/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanTest.java
new file mode 100644
index 0000000000..353a5e89f4
--- /dev/null
+++ b/uitest/src/test/java/com/vaadin/tests/components/javascriptcomponent/JavaScriptSpanTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.components.javascriptcomponent;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+
+import com.vaadin.tests.tb3.SingleBrowserTest;
+
+public class JavaScriptSpanTest extends SingleBrowserTest {
+ @Test
+ public void componentShownAsSpan() {
+ openTestURL();
+
+ assertElementPresent(By.xpath("//span[text()='Hello World']"));
+
+ }
+}