| <!DOCTYPE html> |
| <body> |
| <script src="../../js/resources/js-test-pre.js"></script> |
| <input id="timeInput" type="time" value="01:01" style="font-size:20px" autofocus> |
| <script> |
| function dispatchKeyEventTo(type, key, target) { |
| var event = document.createEvent('KeyboardEvent'); |
| event.initKeyboardEvent(type, true, true, document.defaultView, key); |
| target.dispatchEvent(event); |
| } |
| |
| function pseudoOfFocused() { |
| return internals.youngestShadowRoot(timeInput).activeElement.getAttribute("pseudo"); |
| } |
| |
| description('Check if focus() for focused input does not change focused sub-field.'); |
| debug('Move focus to the second sub-field:'); |
| var timeInput = document.getElementById('timeInput'); |
| shouldBe('document.activeElement', 'timeInput'); |
| dispatchKeyEventTo('keydown', 'Right', timeInput); |
| shouldBeEqualToString('pseudoOfFocused(timeInput)', '-webkit-datetime-edit-minute-field'); |
| shouldBeEqualToString('timeInput.focus(); pseudoOfFocused(timeInput)', '-webkit-datetime-edit-minute-field'); |
| |
| debug('Click on a delimiter between sub-fields, then check if focused element is not changed:'); |
| var focusedField = internals.youngestShadowRoot(timeInput).activeElement; |
| eventSender.mouseMoveTo(focusedField.offsetLeft + focusedField.offsetWidth + 10, focusedField.offsetTop + 10); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| shouldBeEqualToString('pseudoOfFocused(timeInput)', '-webkit-datetime-edit-minute-field'); |
| </script> |
| <script src="../../js/resources/js-test-post.js"></script> |
| </body> |