summaryrefslogtreecommitdiffstats
path: root/toolkit
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-03-31 07:02:03 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-03-31 07:02:03 +0200
commit2f54cd30fc6f6c16db7e95819740e1f229b20984 (patch)
tree31d05c6b4a6a11e0dd28ab829e48ca262cdd4136 /toolkit
parentde16d196679e3deaf8797abcc05db5cf0ead6ae8 (diff)
downloadUXP-2f54cd30fc6f6c16db7e95819740e1f229b20984.tar
UXP-2f54cd30fc6f6c16db7e95819740e1f229b20984.tar.gz
UXP-2f54cd30fc6f6c16db7e95819740e1f229b20984.tar.lz
UXP-2f54cd30fc6f6c16db7e95819740e1f229b20984.tar.xz
UXP-2f54cd30fc6f6c16db7e95819740e1f229b20984.zip
Bug 1401876 - (Part 2) Add browser-chrome test for reopening picker
Diffstat (limited to 'toolkit')
-rw-r--r--toolkit/content/tests/browser/browser_datetime_datepicker.js22
-rw-r--r--toolkit/content/tests/browser/head.js6
2 files changed, 27 insertions, 1 deletions
diff --git a/toolkit/content/tests/browser/browser_datetime_datepicker.js b/toolkit/content/tests/browser/browser_datetime_datepicker.js
index 808ef4fef..966a74e7a 100644
--- a/toolkit/content/tests/browser/browser_datetime_datepicker.js
+++ b/toolkit/content/tests/browser/browser_datetime_datepicker.js
@@ -168,6 +168,28 @@ add_task(async function test_datepicker_clicked() {
});
/**
+ * Make sure picker is in correct state when it is reopened.
+ */
+add_task(async function test_datepicker_reopen_state() {
+ const inputValue = "2016-12-15";
+ const nextMonth = "2017-01-01";
+
+ await helper.openPicker(`data:text/html, <input type="date" value="${inputValue}">`);
+ // Navigate to the next month but does not commit the change
+ Assert.equal(helper.getElement(MONTH_YEAR).textContent, DATE_FORMAT(new Date(inputValue)));
+ helper.click(helper.getElement(BTN_NEXT_MONTH));
+ Assert.equal(helper.getElement(MONTH_YEAR).textContent, DATE_FORMAT(new Date(nextMonth)));
+ EventUtils.synthesizeKey("VK_ESCAPE", {}, window);
+
+ // Ensures the picker opens to the month of the input value
+ await BrowserTestUtils.synthesizeMouseAtCenter("input", {}, gBrowser.selectedBrowser);
+ await helper.waitForPickerReady();
+ Assert.equal(helper.getElement(MONTH_YEAR).textContent, DATE_FORMAT(new Date(inputValue)));
+
+ await helper.tearDown();
+});
+
+/**
* When min and max attributes are set, calendar should show some dates as
* out-of-range.
*/
diff --git a/toolkit/content/tests/browser/head.js b/toolkit/content/tests/browser/head.js
index 399b63e34..d7ed7a9ff 100644
--- a/toolkit/content/tests/browser/head.js
+++ b/toolkit/content/tests/browser/head.js
@@ -57,8 +57,12 @@ class DateTimeTestHelper {
await BrowserTestUtils.waitForEvent(this.panel, "DateTimePickerBindingReady")
}
this.frame = this.panel.dateTimePopupFrame;
+ await this.waitForPickerReady();
+ }
+
+ async waitForPickerReady() {
await BrowserTestUtils.waitForEvent(this.frame, "load", true);
- // Wait for picker elements to be ready and open panel transition to end
+ // Wait for picker elements to be ready
await BrowserTestUtils.waitForEvent(this.frame.contentDocument, "PickerReady");
}