blob: 3897eb928566ffbf959786de4109209ed07544dc [file] [log] [blame]
<script src=../resources/js-test.js></script>
<body id=body>
<input type=number id=number1>
<input type=number id=number2>
<p id=console</div>
<script>
description("Tests that the incrementor control as part of input type=number is garbage-collected when the input is deleted or changed.");
if (window.accessibilityController) {
// If we delete an input type=number, the incrementor should be detached.
var axincrementor;
(function() {
var number = document.getElementById("number1");
number.focus();
var axnumber = accessibilityController.focusedElement;
axincrementor = axnumber.childAtIndex(0);
shouldBe("axincrementor.role", "\"AXRole: AXSpinButton\"");
number.parentElement.removeChild(number);
})();
gc();
shouldBe("axincrementor.role", "\"AXRole: AXUnknown\"");
// If change an input type=number to type=text, the incrementor should be detached.
var axincrementor;
(function() {
var number = document.getElementById("number2");
number.focus();
var axnumber = accessibilityController.focusedElement;
axincrementor = axnumber.childAtIndex(0);
shouldBe("axincrementor.role", "\"AXRole: AXSpinButton\"");
number.setAttribute('type', 'text');
})();
gc();
shouldBe("axincrementor.role", "\"AXRole: AXUnknown\"");
}
</script>