Change-Id: Ifdfac8f2088042e2eeb4618b66a9e4dc315f7e24tags/7.6.0.alpha7
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.elements.CheckBoxElement; | import com.vaadin.testbench.elements.CheckBoxElement; | ||||
import com.vaadin.testbench.elements.NotificationElement; | import com.vaadin.testbench.elements.NotificationElement; | ||||
import com.vaadin.testbench.parallel.BrowserUtil; | |||||
import com.vaadin.tests.tb3.MultiBrowserThemeTest; | import com.vaadin.tests.tb3.MultiBrowserThemeTest; | ||||
public class CriticalNotificationsTest extends MultiBrowserThemeTest { | public class CriticalNotificationsTest extends MultiBrowserThemeTest { | ||||
@Override | @Override | ||||
protected boolean useNativeEventsForIE11() { | |||||
return false; | |||||
protected boolean useNativeEventsForIE() { | |||||
if (BrowserUtil.isIE(getDesiredCapabilities(), 11)) { | |||||
// Use JavaScript events only for IE11 | |||||
return false; | |||||
} else { | |||||
return true; | |||||
} | |||||
} | } | ||||
@Test | @Test |
import java.util.regex.Pattern; | import java.util.regex.Pattern; | ||||
import org.junit.Assert; | import org.junit.Assert; | ||||
import org.junit.Before; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.Point; | import org.openqa.selenium.Point; | ||||
import org.openqa.selenium.WebElement; | import org.openqa.selenium.WebElement; | ||||
private Pattern defaultLog = Pattern | private Pattern defaultLog = Pattern | ||||
.compile("[0-9]+. ContextClickEvent: [(]([0-9]+), ([0-9]+)[)]"); | .compile("[0-9]+. ContextClickEvent: [(]([0-9]+), ([0-9]+)[)]"); | ||||
@Override | |||||
protected boolean useNativeEventsForIE() { | |||||
return false; | |||||
} | |||||
@Override | @Override | ||||
public List<DesiredCapabilities> getBrowsersToTest() { | public List<DesiredCapabilities> getBrowsersToTest() { | ||||
return getBrowsersSupportingContextMenu(); | return getBrowsersSupportingContextMenu(); | ||||
} | } | ||||
@Test | |||||
public void testDefaultListener() { | |||||
@Before | |||||
public void setUp() { | |||||
openTestURL(); | openTestURL(); | ||||
} | |||||
@Test | |||||
public void testDefaultListener() { | |||||
addOrRemoveDefaultListener(); | addOrRemoveDefaultListener(); | ||||
assertDefaultContextClickListener(1); | assertDefaultContextClickListener(1); |
public class GridContextClickTest extends AbstractContextClickTest { | public class GridContextClickTest extends AbstractContextClickTest { | ||||
@Test | @Test | ||||
public void testBodyContextClickWithTypedListener() { | public void testBodyContextClickWithTypedListener() { | ||||
openTestURL(); | |||||
addOrRemoveTypedListener(); | addOrRemoveTypedListener(); | ||||
contextClick($(GridElement.class).first().getCell(0, 0)); | contextClick($(GridElement.class).first().getCell(0, 0)); | ||||
@Test | @Test | ||||
public void testHeaderContextClickWithTypedListener() { | public void testHeaderContextClickWithTypedListener() { | ||||
openTestURL(); | |||||
addOrRemoveTypedListener(); | addOrRemoveTypedListener(); | ||||
contextClick($(GridElement.class).first().getHeaderCell(0, 0)); | contextClick($(GridElement.class).first().getHeaderCell(0, 0)); | ||||
@Test | @Test | ||||
public void testFooterContextClickWithTypedListener() { | public void testFooterContextClickWithTypedListener() { | ||||
openTestURL(); | |||||
addOrRemoveTypedListener(); | addOrRemoveTypedListener(); | ||||
contextClick($(GridElement.class).first().getFooterCell(0, 0)); | contextClick($(GridElement.class).first().getFooterCell(0, 0)); |
@Test | @Test | ||||
public void testAddAndRemoveListeners() { | public void testAddAndRemoveListeners() { | ||||
openTestURL(); | |||||
// Add typed listener | // Add typed listener | ||||
addOrRemoveTypedListener(); | addOrRemoveTypedListener(); | ||||
Table table = new Table(); | Table table = new Table(); | ||||
table.setContainerDataSource(PersonContainer.createWithTestData()); | table.setContainerDataSource(PersonContainer.createWithTestData()); | ||||
table.setFooterVisible(true); | table.setFooterVisible(true); | ||||
table.setHeight("400px"); | |||||
return table; | return table; | ||||
} | } | ||||
@Test | @Test | ||||
public void testBodyContextClickWithTypedListener() { | public void testBodyContextClickWithTypedListener() { | ||||
openTestURL(); | |||||
addOrRemoveTypedListener(); | addOrRemoveTypedListener(); | ||||
assertTypedContextClickListener(1); | assertTypedContextClickListener(1); | ||||
@Test | @Test | ||||
public void testHeaderContextClickWithTypedListener() { | public void testHeaderContextClickWithTypedListener() { | ||||
openTestURL(); | |||||
addOrRemoveTypedListener(); | addOrRemoveTypedListener(); | ||||
contextClick($(TableElement.class).first().getHeaderCell(0)); | contextClick($(TableElement.class).first().getHeaderCell(0)); | ||||
@Test | @Test | ||||
public void testFooterContextClickWithTypedListener() { | public void testFooterContextClickWithTypedListener() { | ||||
openTestURL(); | |||||
addOrRemoveTypedListener(); | addOrRemoveTypedListener(); | ||||
contextClick($(TableElement.class).first().getFooterCell(0)); | contextClick($(TableElement.class).first().getFooterCell(0)); |
} | } | ||||
/** | /** | ||||
* Should the "native events" be enabled for Internet Explorer 11. | |||||
* Should the "native events" be enabled for Internet Explorer. | |||||
* <p> | * <p> | ||||
* Native events sometimes cause failure in clicking on buttons/checkboxes | * Native events sometimes cause failure in clicking on buttons/checkboxes | ||||
* but are possibly needed for some operations. | * but are possibly needed for some operations. | ||||
* @return true, to use "native events", false to use generated Javascript | * @return true, to use "native events", false to use generated Javascript | ||||
* events | * events | ||||
*/ | */ | ||||
protected boolean useNativeEventsForIE11() { | |||||
protected boolean useNativeEventsForIE() { | |||||
return true; | return true; | ||||
} | } | ||||
InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING, | InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING, | ||||
false); | false); | ||||
} | } | ||||
if (BrowserUtil.isIE(desiredCapabilities, 11)) { | |||||
// Only for IE 11 for now, can be expanded to other versions if | |||||
// they have the same problems | |||||
if (!useNativeEventsForIE11()) { | |||||
desiredCapabilities.setCapability( | |||||
InternetExplorerDriver.NATIVE_EVENTS, false); | |||||
} | |||||
if (!useNativeEventsForIE()) { | |||||
desiredCapabilities.setCapability( | |||||
InternetExplorerDriver.NATIVE_EVENTS, false); | |||||
} | } | ||||
} | } | ||||