summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/dom/nodes/Document-createAttribute.html
blob: b3dc8b60b9b0a6e1b0d459a993c21ff9df20ef57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!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>