123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package com.vaadin.tests.components.datefield;
-
- import static org.junit.Assert.assertEquals;
- import static org.junit.Assert.assertFalse;
-
- import org.junit.Test;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.interactions.Actions;
-
- import com.vaadin.testbench.elements.VerticalLayoutElement;
- import com.vaadin.tests.tb3.MultiBrowserTest;
-
- public class DateTimeFieldFastForwardTest extends MultiBrowserTest {
-
- @Test
- public void testFastForwardOnRightMouseClick() throws Exception {
- openTestURL();
- String firstMonth = getSelectedMonth();
- WebElement nextMonthButton = driver
- .findElement(By.className("v-button-nextmonth"));
-
- // Click and hold left mouse button to start fast forwarding.
- new Actions(driver).clickAndHold(nextMonthButton).perform();
- sleep(1000);
-
- // Right click and release the left button.
-
- new Actions(driver).contextClick(nextMonthButton)
- .release(nextMonthButton).perform();
-
- // Now the fast forwarding should be ended, get the expected month.
- String expectedMonth = getSelectedMonth();
-
- // Make browser context menu disappear, since it will crash IE
- $(VerticalLayoutElement.class).first().click();
-
- assertFalse("Month did not change during fast forward",
- firstMonth.equals(expectedMonth));
-
- // Wait for a while.
- Thread.sleep(1000);
-
- // Verify that we didn't fast forward any further after the left button
- // was released.
- String actualMonth = getSelectedMonth();
- assertEquals(expectedMonth, actualMonth);
- }
-
- private String getSelectedMonth() {
- return driver
- .findElement(
- By.className("v-inline-datefield-calendarpanel-month"))
- .getText();
- }
-
- }
|