This tests updating inputmode of an input element from "none" to "text". The software keyboard should be brought up after pointerup.
To manually test, tap on the input element below. The software keyboard should be brought up

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS textHeight = keyboardRect.height; keyboardRect.height > 0 is true
PASS logs.length is 2
PASS logs[0].event.type is "pointerdown"
PASS logs[0].visualViewportHeight is originalVisualViewportHeight
PASS logs[1].event.type is "pointerup"
PASS logs[1].visualViewportHeight is originalVisualViewportHeight
PASS successfullyParsed is true

TEST COMPLETE


