<!DOCTYPE html> <html> <head> <script src="../../../resources/js-test.js"></script> <script src="../../forms/resources/picker-common.js"></script> <script src="resources/calendar-picker-common.js"></script> </head> <body> <p id="description"></p> <div id="console"></div> <input type="datetime-local" id="input" value="2000-01-01T17:49"> <script> description('Test if change event fires when the user selects the default value after the value was changed by JS.'); var eventsCounter = {}; function recordEvent(event) { if (eventsCounter[event.type] === undefined) eventsCounter[event.type] = 0; eventsCounter[event.type]++; debug('==> "' + event.type + '" event was dispatched.'); } var input = document.getElementById('input'); input.addEventListener('input', recordEvent, false); input.addEventListener('change', recordEvent, false); input.value = '2000-01-02T17:49'; shouldBeEqualToString('input.value', '2000-01-02T17:49'); shouldBeUndefined('eventsCounter.input'); shouldBeUndefined('eventsCounter.change'); openPicker(input, test1); function test1() { eventSender.keyDown('leftArrow'); removeCommitDelay(); eventSender.keyDown('\n'); shouldBeEqualToString('input.value', '2000-01-01T17:49'); shouldBe('eventsCounter.input', '1'); shouldBe('eventsCounter.change', '1'); finishJSTest(); } </script> </body> </html>