|
|
@@ -24,6 +24,7 @@ public class ListSelectMultiSelectionTest extends MultiBrowserTest { |
|
|
|
@Test |
|
|
|
public void testShiftSelect() { |
|
|
|
openTestURL(); |
|
|
|
selectMenuPath("Component", "Listeners", "Selection listener"); |
|
|
|
|
|
|
|
ListSelectElement listSelect = $(ListSelectElement.class).first(); |
|
|
|
Select select = new Select(listSelect.getSelectElement()); |
|
|
@@ -31,6 +32,10 @@ public class ListSelectMultiSelectionTest extends MultiBrowserTest { |
|
|
|
.findElements(By.tagName("option")); |
|
|
|
options.get(0).click(); |
|
|
|
|
|
|
|
// ensure the selection event got through |
|
|
|
assertEquals("1. Selected: [Item 0]", getLogs().get(0)); |
|
|
|
|
|
|
|
// ensure the state corresponds with the event |
|
|
|
List<WebElement> selected = select.getAllSelectedOptions(); |
|
|
|
assertEquals(1, selected.size()); |
|
|
|
assertEquals("Item 0", selected.get(0).getText()); |
|
|
@@ -39,6 +44,8 @@ public class ListSelectMultiSelectionTest extends MultiBrowserTest { |
|
|
|
options.get(1).click(); |
|
|
|
new Actions(getDriver()).keyUp(Keys.SHIFT).perform(); |
|
|
|
|
|
|
|
assertEquals("2. Selected: [Item 0, Item 1]", getLogs().get(0)); |
|
|
|
|
|
|
|
selected = select.getAllSelectedOptions(); |
|
|
|
assertEquals(2, selected.size()); |
|
|
|
assertEquals("Item 1", selected.get(1).getText()); |
|
|
@@ -48,6 +55,50 @@ public class ListSelectMultiSelectionTest extends MultiBrowserTest { |
|
|
|
new Actions(getDriver()).keyUp(Keys.SHIFT).perform(); |
|
|
|
|
|
|
|
// ensure second shift selection added instead of moved |
|
|
|
assertEquals("3. Selected: [Item 0, Item 1, Item 2]", getLogs().get(0)); |
|
|
|
|
|
|
|
selected = select.getAllSelectedOptions(); |
|
|
|
assertEquals(3, selected.size()); |
|
|
|
assertEquals("Item 2", selected.get(2).getText()); |
|
|
|
assertEquals("Item 0", selected.get(0).getText()); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void testShiftSelectWithKeys() { |
|
|
|
openTestURL(); |
|
|
|
selectMenuPath("Component", "Listeners", "Selection listener"); |
|
|
|
|
|
|
|
ListSelectElement listSelect = $(ListSelectElement.class).first(); |
|
|
|
Select select = new Select(listSelect.getSelectElement()); |
|
|
|
List<WebElement> options = listSelect |
|
|
|
.findElements(By.tagName("option")); |
|
|
|
options.get(0).click(); |
|
|
|
|
|
|
|
// ensure the selection event got through |
|
|
|
assertEquals("1. Selected: [Item 0]", getLogs().get(0)); |
|
|
|
|
|
|
|
// ensure the state corresponds with the event |
|
|
|
List<WebElement> selected = select.getAllSelectedOptions(); |
|
|
|
assertEquals(1, selected.size()); |
|
|
|
assertEquals("Item 0", selected.get(0).getText()); |
|
|
|
|
|
|
|
new Actions(getDriver()).keyDown(Keys.SHIFT).perform(); |
|
|
|
new Actions(getDriver()).sendKeys(Keys.ARROW_DOWN).perform(); |
|
|
|
new Actions(getDriver()).keyUp(Keys.SHIFT).perform(); |
|
|
|
|
|
|
|
assertEquals("2. Selected: [Item 0, Item 1]", getLogs().get(0)); |
|
|
|
|
|
|
|
selected = select.getAllSelectedOptions(); |
|
|
|
assertEquals(2, selected.size()); |
|
|
|
assertEquals("Item 1", selected.get(1).getText()); |
|
|
|
|
|
|
|
new Actions(getDriver()).keyDown(Keys.SHIFT).perform(); |
|
|
|
new Actions(getDriver()).sendKeys(Keys.ARROW_DOWN).perform(); |
|
|
|
new Actions(getDriver()).keyUp(Keys.SHIFT).perform(); |
|
|
|
|
|
|
|
// ensure second shift selection added instead of moved |
|
|
|
assertEquals("3. Selected: [Item 0, Item 1, Item 2]", getLogs().get(0)); |
|
|
|
|
|
|
|
selected = select.getAllSelectedOptions(); |
|
|
|
assertEquals(3, selected.size()); |
|
|
|
assertEquals("Item 2", selected.get(2).getText()); |