blob: aa32bd0b1ddf990075f6549ec1c5ce6bf8d5da89 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../../../../resources/testharness.js"></script>
<script src="../../../../../resources/testharnessreport.js"></script>
<script src="../../../../../fast/spatial-navigation/resources/snav-testharness.js"></script>
<style>
div {
width: 100px;
height: 100px;
margin: 5px;
border: 1px solid black;
}
</style>
<div id="first" tabindex="0">First</div>
<input id="second" type="text">Second</input>
<div id="third" tabindex="0">Third</div>
<script>
// This checks that removing an editable element that is interested and
// focused resets spat nav and allows further navigation.
let first = document.getElementById("first");
let second = document.getElementById("second");
let third = document.getElementById("third");
test(() => {
// Move interest to 'second' and focus it.
snav.triggerMove('Down');
snav.triggerMove('Down');
eventSender.keyDown('Enter');
assert_equals(window.internals.interestedElement,
second,
"Input box starts off with interest.");
assert_equals(document.activeElement,
second,
"Enter key moves focus into 'second'");
second.remove();
snav.triggerMove('Down');
assert_equals(window.internals.interestedElement,
first,
"'first' box should be interested.");
snav.triggerMove('Down');
assert_equals(window.internals.interestedElement,
third,
"'third' box should be interested.");
}, "Spat-Nav resets gracefully after focused editable is removed from DOM.");
</script>