/* * 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 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: tabs should stay selectable after remove tab. * * @since 7.2 * @author Vaadin Ltd */ public class AccordionRemoveTabTest extends MultiBrowserTest { @Test public void testRemoveTab() { openTestURL(); WebElement button = driver.findElement(By.className("v-button")); button.click(); checkFirstItemHeight("On second tab"); button.click(); checkFirstItemHeight("On third tab"); } @Test public void testConsoleErrorOnSwitch() { setDebug(true); openTestURL(); WebElement firstItem = driver .findElement(By.className("v-accordion-item-first")); WebElement caption = firstItem .findElement(By.className("v-accordion-item-caption")); caption.click(); Assert.assertEquals("Errors present in console", 0, findElements(By.className("SEVERE")).size()); } private void checkFirstItemHeight(String text) { WebElement firstItem = driver .findElement(By.className("v-accordion-item-first")); WebElement label = firstItem.findElement(By.className("v-label")); Assert.assertEquals("Unexpected text in first item", text, label.getText()); int height = firstItem.getSize().getHeight(); WebElement accordion = driver.findElement(By.className("v-accordion")); Assert.assertTrue("First item in accordion has unexpected height", height > accordion.getSize().getHeight() / 2); } }