package com.vaadin.tests.components.nativeselect; import java.util.List; import org.junit.Assert; import org.junit.Test; import com.vaadin.testbench.TestBenchElement; import com.vaadin.testbench.elements.NativeSelectElement; import com.vaadin.testbench.elements.ButtonElement; import com.vaadin.tests.tb3.SingleBrowserTest; public class NativeSelectCaptionGenerationTest extends SingleBrowserTest { private static final String[] value = new String[] { "Foo", "Bar", "Baz", "Spam", "Eggs" }; @Test public void testDefaultDeclarativeCaptions() { openTestURL(); List<TestBenchElement> options = $(NativeSelectElement.class).first() .getOptions(); for (int i = 0; i < options.size(); ++i) { Assert.assertEquals("Captions don't match.", value[i], options.get(i).getText()); } } @Test public void testToStringCaptions() { openTestURL(); $(ButtonElement.class).caption("toString").first().click(); List<TestBenchElement> options = $(NativeSelectElement.class).first() .getOptions(); for (int i = 0; i < options.size(); ++i) { Assert.assertEquals("Captions don't match.", "Option " + (i + 1), options.get(i).getText()); } } @Test public void testNumberOnlyCaptions() { openTestURL(); $(ButtonElement.class).caption("Only number").first().click(); List<TestBenchElement> options = $(NativeSelectElement.class).first() .getOptions(); for (int i = 0; i < options.size(); ++i) { Assert.assertEquals("Captions don't match.", "" + (i + 1), options.get(i).getText()); } } @Test public void testChangeGeneratorToStringAndBackToDeclarative() { openTestURL(); $(ButtonElement.class).caption("toString").first().click(); $(ButtonElement.class).caption("Declarative").first().click(); List<TestBenchElement> options = $(NativeSelectElement.class).first() .getOptions(); for (int i = 0; i < options.size(); ++i) { Assert.assertEquals("Captions don't match.", value[i], options.get(i).getText()); } } }