From 2f54cd30fc6f6c16db7e95819740e1f229b20984 Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Sat, 31 Mar 2018 07:02:03 +0200 Subject: Bug 1401876 - (Part 2) Add browser-chrome test for reopening picker --- .../tests/browser/browser_datetime_datepicker.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'toolkit/content/tests/browser/browser_datetime_datepicker.js') 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 @@ -167,6 +167,28 @@ add_task(async function test_datepicker_clicked() { await helper.tearDown(); }); +/** + * 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, `); + // 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. -- cgit v1.2.3