/*
* 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.elements;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.vaadin.testbench.elements.AbstractComponentElement;
import com.vaadin.testbench.elements.AbstractLayoutElement;
import com.vaadin.testbench.elements.AccordionElement;
import com.vaadin.testbench.elements.BrowserFrameElement;
import com.vaadin.testbench.elements.ButtonElement;
import com.vaadin.testbench.elements.CheckBoxElement;
import com.vaadin.testbench.elements.CheckBoxGroupElement;
import com.vaadin.testbench.elements.ColorPickerElement;
import com.vaadin.testbench.elements.ComboBoxElement;
import com.vaadin.testbench.elements.DateFieldElement;
import com.vaadin.testbench.elements.FlashElement;
import com.vaadin.testbench.elements.FormLayoutElement;
import com.vaadin.testbench.elements.GridElement;
import com.vaadin.testbench.elements.GridLayoutElement;
import com.vaadin.testbench.elements.HorizontalLayoutElement;
import com.vaadin.testbench.elements.ImageElement;
import com.vaadin.testbench.elements.ListSelectElement;
import com.vaadin.testbench.elements.RadioButtonGroupElement;
import com.vaadin.testbench.elements.TextAreaElement;
import com.vaadin.testbench.elements.TextFieldElement;
import com.vaadin.testbench.elements.TwinColSelectElement;
import com.vaadin.testbench.elements.VerticalLayoutElement;
import com.vaadin.tests.tb3.MultiBrowserTest;
/**
*
* Test class which have test methods for all components added in the testUI
* class. Open TestURL is called only once before tests. Parent class should
* override protected Class<?> getUIClass() to specify which testUI should be
* used
*/
public abstract class ElementComponentGetCaptionBaseTest
extends MultiBrowserTest {
AbstractLayoutElement mainLayout;
@Before
public void init() {
openTestURL();
}
@Test
public void getComboboxCaptionTest() {
ComboBoxElement elem = mainLayout.$(ComboBoxElement.class).get(0);
testCaption(elem, 0);
}
@Test
public void getButtonCaptionTest() {
ButtonElement elem = mainLayout.$(ButtonElement.class).get(0);
testCaption(elem, 1);
}
@Test
public void getGridCaptionTest() {
GridElement elem = mainLayout.$(GridElement.class).get(0);
testCaption(elem, 2);
}
@Test
public void getCheckBoxGroupCaptionTest() {
CheckBoxGroupElement elem = mainLayout.$(CheckBoxGroupElement.class)
.get(0);
testCaption(elem, 3);
}
@Test
public void getRadioButtonGroupCaptionTest() {
RadioButtonGroupElement elem = mainLayout
.$(RadioButtonGroupElement.class).get(0);
testCaption(elem, 4);
}
@Test
public void getTwinColSelectCaptionTest() {
TwinColSelectElement elem = mainLayout.$(TwinColSelectElement.class)
.get(0);
testCaption(elem, 5);
}
@Test
public void getListSelectCaptionTest() {
ListSelectElement elem = mainLayout.$(ListSelectElement.class).get(0);
testCaption(elem, 6);
}
@Test
public void getColorPickerCaptionTest() {
ColorPickerElement elem = mainLayout.$(ColorPickerElement.class).get(0);
testCaption(elem, 7);
}
@Test
public void getAccordionCaptionTest() {
AccordionElement elem = mainLayout.$(AccordionElement.class).get(0);
testCaption(elem, 8);
}
@Test
public void getImageCaptionTest() {
ImageElement elem = mainLayout.$(ImageElement.class).get(0);
testCaption(elem, 9);
}
@Test
public void getFlashCaptionTest() {
FlashElement elem = mainLayout.$(FlashElement.class).get(0);
testCaption(elem, 10);
}
@Test
public void getBrowserFrameCaptionTest() {
BrowserFrameElement elem = mainLayout.$(BrowserFrameElement.class)
.get(0);
testCaption(elem, 11);
}
@Test
public void getCheckBoxCaptionTest() {
CheckBoxElement elem = mainLayout.$(CheckBoxElement.class).get(0);
testCaption(elem, 12);
}
@Test
public void getTextFieldCaptionTest() {
TextFieldElement elem = mainLayout.$(TextFieldElement.class).get(0);
testCaption(elem, 13);
}
@Test
public void getTextAreaCaptionTest() {
TextAreaElement elem = mainLayout.$(TextAreaElement.class).get(0);
testCaption(elem, 14);
}
@Test
public void getDateFieldCaptionTest() {
DateFieldElement elem = mainLayout.$(DateFieldElement.class).get(0);
testCaption(elem, 15);
}
@Test
public void getVerticalLayoutCaptionTest() {
VerticalLayoutElement elem = mainLayout.$(VerticalLayoutElement.class)
.get(0);
testCaption(elem, 16);
}
@Test
public void getHorizontalLayoutCaptionTest() {
HorizontalLayoutElement elem = mainLayout
.$(HorizontalLayoutElement.class).get(0);
testCaption(elem, 17);
}
@Test
public void getFormLayoutCaptionTest() {
FormLayoutElement elem = mainLayout.$(FormLayoutElement.class).get(0);
testCaption(elem, 18);
}
@Test
public void getGridLayoutCaptionTest() {
GridLayoutElement elem = mainLayout.$(GridLayoutElement.class).get(0);
testCaption(elem, 19);
}
private void testCaption(AbstractComponentElement elem, int caption_index) {
String actual = elem.getCaption();
String expected = ElementComponentGetCaptionBase.DEFAULT_CAPTIONS[caption_index];
Assert.assertTrue("Error with class:" + elem.getAttribute("class"),
expected.equals(actual));
}
}