58 lines
1.4 KiB
HTML
58 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<p>This test case ensures that nameNodeListCache should be invalidate when name attribute changes.</p>
|
|
<div id="console"></div>
|
|
<script>
|
|
var element1;
|
|
var element2;
|
|
|
|
function createElement(type, properties)
|
|
{
|
|
var element = document.createElement(type);
|
|
|
|
for (var i in properties)
|
|
if (properties.hasOwnProperty(i))
|
|
element.setAttribute(i,properties[i]);
|
|
|
|
document.body.appendChild(element);
|
|
return element;
|
|
}
|
|
|
|
function createTwoElements(tagName)
|
|
{
|
|
element1 = createElement(tagName, {name: 'fullname'});
|
|
element2 = createElement(tagName, {name: 'fullname'});
|
|
}
|
|
|
|
function runTest(tagName)
|
|
{
|
|
shouldBe("createTwoElements('" + tagName + "'); document.getElementsByName('fullname').length", "2");
|
|
shouldBe("document.querySelector('" + tagName + "').setAttribute('name', 'changed-name'); document.getElementsByName('fullname').length", "1");
|
|
document.body.removeChild(element1);
|
|
document.body.removeChild(element2);
|
|
debug('');
|
|
}
|
|
|
|
runTest('a');
|
|
runTest('applet');
|
|
runTest('embed');
|
|
runTest('section');
|
|
runTest('frame');
|
|
runTest('form');
|
|
runTest('iframe');
|
|
runTest('img');
|
|
runTest('map');
|
|
runTest('meta');
|
|
runTest('object');
|
|
runTest('param');
|
|
|
|
var successfullyParsed = true;
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|