blob: 67912539584107f906767b2b70ce1cf041f71302 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="container">
<!-- The elements before the form element force the parser to make form 'a'
the form owner for the textarea and button elements, but at the same
time prevents the textarea and button elements from being children of
the form element.
-->
<table>
<colgroup>
<meter>
<form id="a">
<textarea id="b" name="aa"></textarea>
<button id="c" name="ab"></button>
</div>
<script>
'use strict';
test(() => {
var form = document.getElementById("a");
var textarea = document.getElementById("b");
var input = document.getElementById("c");
var container = document.getElementById("container");
document.body.removeChild(container);
assert_equals(form.aa, textarea); // validates cache
textarea.setAttribute("name", "ac"); // should invalidate cache
input.setAttribute("name", "aa");
assert_equals(form.aa, input); // should return input and not textarea
container.children[0].removeChild(container.children[0].children[1]);
assert_equals(form.ac, undefined);
}, "should invalidate nameditem cache even when removed from document");
</script>