Tests that the password field is scrolled when the caps lock indicator is toggled.

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


Case 1: Empty field:
PASS document.getElementById('input').scrollLeft is 0

After caps lock enabled:
PASS document.getElementById('input').scrollLeft is 0

After caps lock disabled:
PASS document.getElementById('input').scrollLeft is 0

Case 2: After typing into field:
PASS document.getElementById('input').scrollLeft is 0

After caps lock enabled:
PASS document.getElementById('input').scrollLeft is non-zero.

After caps lock disabled:
PASS document.getElementById('input').scrollLeft is 0

Case 3: After selecting the first 2 characters:
PASS document.getElementById('input').scrollLeft is 0

After caps lock enabled:
PASS document.getElementById('input').scrollLeft is 0

After caps lock disabled:
PASS document.getElementById('input').scrollLeft is 0

Case 4: After selecting the last 2 characters:
PASS document.getElementById('input').scrollLeft is 0

After caps lock enabled:
PASS document.getElementById('input').scrollLeft is non-zero.

After caps lock disabled:
PASS document.getElementById('input').scrollLeft is 0
PASS successfullyParsed is true

TEST COMPLETE

