aboutsummaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorDenis Anisimov <denis@vaadin.com>2014-04-06 18:10:37 +0300
committerVaadin Code Review <review@vaadin.com>2014-04-10 16:47:40 +0000
commit013d32d60b7b80f9501e8e4479f4d3b6ce97ae19 (patch)
tree740cedeffebbdedf764c89ff10a045490bbb24fa /uitest
parentca90352bf4cb737512cfe01240fcf1e09283a0e3 (diff)
downloadvaadin-framework-013d32d60b7b80f9501e8e4479f4d3b6ce97ae19.tar.gz
vaadin-framework-013d32d60b7b80f9501e8e4479f4d3b6ce97ae19.zip
Remove old widget from tab content on replace (#12931).
Change-Id: I85badfcca18e129b20ab6c5c2db0b845c8c2ea5b
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/accordion/AccordionAddTab.java72
-rw-r--r--uitest/src/com/vaadin/tests/components/accordion/AccordionAddTabTest.java48
2 files changed, 120 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/accordion/AccordionAddTab.java b/uitest/src/com/vaadin/tests/components/accordion/AccordionAddTab.java
new file mode 100644
index 0000000000..da0ad3685a
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/accordion/AccordionAddTab.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2000-2013 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.accordion;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Accordion;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Panel;
+import com.vaadin.ui.TabSheet.Tab;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * Test UI for Accordion: old widget should be removed from the tab.
+ *
+ * @since 7.2
+ * @author Vaadin Ltd
+ */
+public class AccordionAddTab extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ final Accordion tabs = new Accordion();
+ addComponent(tabs);
+ tabs.setHeight(500, Unit.PIXELS);
+ Button remove = new Button("Remove 'First'");
+ final Tab me = tabs.addTab(addTab("First"));
+ remove.addClickListener(new Button.ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ tabs.removeTab(me);
+ Tab tab = tabs.addTab(addTab("Next"));
+ tabs.setSelectedTab(tab);
+ }
+ });
+ addComponent(remove);
+ }
+
+ private Component addTab(String tag) {
+ VerticalLayout layout = new VerticalLayout();
+ layout.addComponent(new Label("On tab: " + tag));
+ return new Panel(tag, layout);
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Remove previous widget in the accordion tab when content is replaced";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 11367;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/accordion/AccordionAddTabTest.java b/uitest/src/com/vaadin/tests/components/accordion/AccordionAddTabTest.java
new file mode 100644
index 0000000000..68aa61cc87
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/accordion/AccordionAddTabTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2000-2013 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.accordion;
+
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openqa.selenium.WebElement;
+
+import com.vaadin.testbench.By;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+/**
+ * Test for Accordion : replace widget in tab should remove old widget.
+ *
+ * @since 7.2
+ * @author Vaadin Ltd
+ */
+public class AccordionAddTabTest extends MultiBrowserTest {
+
+ @Test
+ public void testRemoveAndAdd() {
+ openTestURL();
+
+ WebElement button = driver.findElement(By.className("v-button"));
+ button.click();
+
+ List<WebElement> panels = driver.findElements(By.className("v-panel"));
+
+ Assert.assertEquals("Found two widgets inside one tab after "
+ + "subsequent tab removal and addition", 1, panels.size());
+ }
+
+}