Pārlūkot izejas kodu

Convert DateFieldReadOnlyTest to not rely on screenshots. (#11867)

tags/8.10.0.beta1
Anna Koskinen pirms 4 gadiem
vecāks
revīzija
fe86bb59f4
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam
13 mainītis faili ar 45 papildinājumiem un 16 dzēšanām
  1. Binārs
      uitest/reference-screenshots/chrome/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Chrome__initial-date.png
  2. Binārs
      uitest/reference-screenshots/chrome/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Chrome__readonly-date.png
  3. Binārs
      uitest/reference-screenshots/chrome/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Chrome__readwrite-popup-date.png
  4. Binārs
      uitest/reference-screenshots/firefox/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Firefox__initial-date.png
  5. Binārs
      uitest/reference-screenshots/firefox/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Firefox__readonly-date.png
  6. Binārs
      uitest/reference-screenshots/firefox/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Firefox__readwrite-popup-date.png
  7. Binārs
      uitest/reference-screenshots/internetexplorer/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_Windows_InternetExplorer_11_initial-date.png
  8. Binārs
      uitest/reference-screenshots/internetexplorer/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_Windows_InternetExplorer_11_readonly-date.png
  9. Binārs
      uitest/reference-screenshots/internetexplorer/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_Windows_InternetExplorer_11_readwrite-popup-date.png
  10. Binārs
      uitest/reference-screenshots/phantomjs/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_LINUX_PhantomJS_1_initial-date.png
  11. Binārs
      uitest/reference-screenshots/phantomjs/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_LINUX_PhantomJS_1_readonly-date.png
  12. Binārs
      uitest/reference-screenshots/phantomjs/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_LINUX_PhantomJS_1_readwrite-popup-date.png
  13. 45
    16
      uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldReadOnlyTest.java

Binārs
uitest/reference-screenshots/chrome/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Chrome__initial-date.png Parādīt failu


Binārs
uitest/reference-screenshots/chrome/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Chrome__readonly-date.png Parādīt failu


Binārs
uitest/reference-screenshots/chrome/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Chrome__readwrite-popup-date.png Parādīt failu


Binārs
uitest/reference-screenshots/firefox/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Firefox__initial-date.png Parādīt failu


Binārs
uitest/reference-screenshots/firefox/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Firefox__readonly-date.png Parādīt failu


Binārs
uitest/reference-screenshots/firefox/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_ANY_Firefox__readwrite-popup-date.png Parādīt failu


Binārs
uitest/reference-screenshots/internetexplorer/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_Windows_InternetExplorer_11_initial-date.png Parādīt failu


Binārs
uitest/reference-screenshots/internetexplorer/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_Windows_InternetExplorer_11_readonly-date.png Parādīt failu


Binārs
uitest/reference-screenshots/internetexplorer/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_Windows_InternetExplorer_11_readwrite-popup-date.png Parādīt failu


Binārs
uitest/reference-screenshots/phantomjs/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_LINUX_PhantomJS_1_initial-date.png Parādīt failu


Binārs
uitest/reference-screenshots/phantomjs/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_LINUX_PhantomJS_1_readonly-date.png Parādīt failu


Binārs
uitest/reference-screenshots/phantomjs/DateFieldReadOnlyTest-readOnlyDateFieldPopupShouldNotOpen_LINUX_PhantomJS_1_readwrite-popup-date.png Parādīt failu


+ 45
- 16
uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldReadOnlyTest.java Parādīt failu

@@ -1,13 +1,18 @@
package com.vaadin.tests.components.datefield;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.io.IOException;

import org.junit.Test;
import org.openqa.selenium.Keys;
import org.openqa.selenium.ElementNotInteractableException;
import org.openqa.selenium.WebElement;

import com.vaadin.testbench.By;
import com.vaadin.testbench.elements.AbstractDateFieldElement;
import com.vaadin.testbench.elements.ButtonElement;
import com.vaadin.testbench.elements.DateFieldElement;
import com.vaadin.tests.tb3.MultiBrowserTest;

public class DateFieldReadOnlyTest extends MultiBrowserTest {
@@ -17,27 +22,51 @@ public class DateFieldReadOnlyTest extends MultiBrowserTest {
throws IOException, InterruptedException {
openTestURL();

compareScreen("initial-date");
DateFieldElement df = $(DateFieldElement.class).first();
WebElement dfButton = df
.findElement(By.className("v-datefield-button"));

// ensure initial read-only state works and pop-up cannot be opened
assertTrue(df.hasClassName("v-readonly"));
assertEquals("none", dfButton.getCssValue("display"));
assertTrue(findElements(By.className("v-datefield-calendarpanel"))
.isEmpty());

assertFalse(openPopup(df));
assertTrue(findElements(By.className("v-datefield-calendarpanel"))
.isEmpty());

// ensure read-only state can be removed and the component is still
// functional
toggleReadOnly();
assertFalse(df.hasClassName("v-readonly"));
assertEquals("inline-block", dfButton.getCssValue("display"));

openPopup();
compareScreen("readwrite-popup-date");
assertTrue(openPopup(df));
assertEquals(1,
findElements(By.className("v-datefield-calendarpanel")).size());

closePopup();
// ensure read-only state can be re-applied, pop-up is closed and cannot
// be re-opened
toggleReadOnly();
compareScreen("readonly-date");
}
assertTrue(df.hasClassName("v-readonly"));
assertEquals("none", dfButton.getCssValue("display"));
assertTrue(findElements(By.className("v-datefield-calendarpanel"))
.isEmpty());

private void closePopup() {
findElement(By.className("v-datefield-calendarpanel"))
.sendKeys(Keys.RETURN);
assertFalse(openPopup(df));
assertTrue(findElements(By.className("v-datefield-calendarpanel"))
.isEmpty());
}

private void openPopup() {
// waiting for openPopup() in TB4 beta1:
// http://dev.vaadin.com/ticket/13766
$(AbstractDateFieldElement.class).first()
.findElement(By.tagName("button")).click();
private boolean openPopup(DateFieldElement df) {
// ensure the hidden button cannot be interacted with
try {
df.openPopup();
return true;
} catch (ElementNotInteractableException e) {
return false;
}
}

private void toggleReadOnly() {

Notiek ielāde…
Atcelt
Saglabāt