From aa1371c84a5642c8b01603764291b746ff85f79d Mon Sep 17 00:00:00 2001 From: Marco Collovati Date: Thu, 28 Dec 2017 10:54:17 +0100 Subject: Add css class to selected items in CheckboxGroup and RadiobuttonGroup (#10394) Adds v-select-option-selected class to the selected group items in CheckboxGroup and RadiobuttonGroup Fixes #3387 --- .../checkboxgroup/CheckBoxGroupTest.java | 12 ++++++++++ .../radiobuttongroup/RadioButtonGroupTest.java | 27 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) (limited to 'uitest/src') diff --git a/uitest/src/test/java/com/vaadin/tests/components/checkboxgroup/CheckBoxGroupTest.java b/uitest/src/test/java/com/vaadin/tests/components/checkboxgroup/CheckBoxGroupTest.java index 66589956b9..98b09a6e60 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/checkboxgroup/CheckBoxGroupTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/checkboxgroup/CheckBoxGroupTest.java @@ -375,6 +375,18 @@ public class CheckBoxGroupTest extends MultiBrowserTest { verifyCheckboxDisabledClassNames(className, true); } + @Test // #3387 + public void shouldApplySelectedClassToSelectedItems() { + openTestURL("theme=valo"); + selectMenuPath("Component", "Selection", "Toggle Item 5"); + + String className = getSelect().getOptionElements().get(5).getAttribute("className"); + assertTrue("No v-select-option-selected class, was " + className, className.contains("v-select-option-selected")); + + selectMenuPath("Component", "Selection", "Toggle Item 5"); + className = getSelect().getOptionElements().get(5).getAttribute("className"); + assertFalse("Extra v-select-option-selected class, was " + className, className.contains("v-select-option-selected")); + } // needed to make tooltips work in IE tests @Override protected boolean requireWindowFocusForIE() { diff --git a/uitest/src/test/java/com/vaadin/tests/components/radiobuttongroup/RadioButtonGroupTest.java b/uitest/src/test/java/com/vaadin/tests/components/radiobuttongroup/RadioButtonGroupTest.java index 96fc66fd1d..a8fa91c51c 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/radiobuttongroup/RadioButtonGroupTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/radiobuttongroup/RadioButtonGroupTest.java @@ -16,6 +16,7 @@ package com.vaadin.tests.components.radiobuttongroup; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.List; @@ -195,6 +196,32 @@ public class RadioButtonGroupTest extends MultiBrowserTest { verifyRadioButtonDisabledClassNames(className, true); } + @Test // #3387 + public void shouldApplySelectedClassToSelectedItems() { + openTestURL("theme=valo"); + selectMenuPath("Component", "Selection", "Toggle Item 5"); + + String className = getSelect().findElements(By.tagName("span")).get(5).getAttribute("className"); + assertTrue("No v-select-option-selected class, was " + className, className.contains("v-select-option-selected") + ); + + getSelect().selectByText("Item 5"); + className = getSelect().findElements(By.tagName("span")).get(5).getAttribute("className"); + assertTrue("No v-select-option-selected class, was " + className, className.contains("v-select-option-selected")); + + getSelect().selectByText("Item 10"); + List options = getSelect().findElements(By.tagName("span")); + className = options.get(5).getAttribute("className"); + assertFalse("Extra v-select-option-selected class, was " + className, className.contains("v-select-option-selected")); + className = options.get(10).getAttribute("className"); + assertTrue("No v-select-option-selected class, was " + className, className.contains("v-select-option-selected")); + + selectMenuPath("Component", "Selection", "Toggle Item 10"); + className = getSelect().findElements(By.tagName("span")).get(10).getAttribute("className"); + assertFalse("Extra v-select-option-selected class, was " + className, className.contains("v-select-option-selected")); + } + + @Test public void itemIconGenerator() { selectMenuPath("Component", "Item Icon Generator", -- cgit v1.2.3