55 lines
1.9 KiB
HTML
55 lines
1.9 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>Document.createAttribute</title>
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
<script src=attributes.js></script>
|
|
<script src=productions.js></script>
|
|
<div id=log>
|
|
<script>
|
|
var xml_document;
|
|
setup(function() {
|
|
xml_document = document.implementation.createDocument(null, null, null);
|
|
});
|
|
|
|
invalid_names.forEach(function(name) {
|
|
test(function() {
|
|
assert_throws_dom("INVALID_CHARACTER_ERR", function() {
|
|
document.createAttribute(name, "test");
|
|
});
|
|
}, "HTML document.createAttribute(" + format_value(name) + ") should throw");
|
|
|
|
test(function() {
|
|
assert_throws_dom("INVALID_CHARACTER_ERR", function() {
|
|
xml_document.createAttribute(name, "test");
|
|
});
|
|
}, "XML document.createAttribute(" + format_value(name) + ") should throw");
|
|
});
|
|
|
|
valid_names.forEach(name => {
|
|
test(() => {
|
|
let attr = document.createAttribute(name);
|
|
attr_is(attr, "", name.toLowerCase(), null, null, name.toLowerCase());
|
|
}, `HTML document.createAttribute(${format_value(name)})`);
|
|
|
|
test(() => {
|
|
let attr = xml_document.createAttribute(name);
|
|
attr_is(attr, "", name, null, null, name);
|
|
}, `XML document.createAttribute(${format_value(name)})`);
|
|
});
|
|
|
|
var tests = ["title", "TITLE", null, undefined];
|
|
tests.forEach(function(name) {
|
|
test(function() {
|
|
var attribute = document.createAttribute(name);
|
|
attr_is(attribute, "", String(name).toLowerCase(), null, null, String(name).toLowerCase());
|
|
assert_equals(attribute.ownerElement, null);
|
|
}, "HTML document.createAttribute(" + format_value(name) + ")");
|
|
|
|
test(function() {
|
|
var attribute = xml_document.createAttribute(name);
|
|
attr_is(attribute, "", String(name), null, null, String(name));
|
|
assert_equals(attribute.ownerElement, null);
|
|
}, "XML document.createAttribute(" + format_value(name) + ")");
|
|
});
|
|
</script>
|