summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/dom/nodes/Document-createProcessingInstruction.js
blob: 114ac35d9f8230299c32f19ff683f464e368caf2 (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
test(function() {
  var invalid = [
        ["A", "?>"],
        ["\u00B7A", "x"],
        ["\u00D7A", "x"],
        ["A\u00D7", "x"],
        ["\\A", "x"],
        ["\f", "x"],
        [0, "x"],
        ["0", "x"]
      ],
      valid = [
        ["xml:fail", "x"],
        ["A\u00B7A", "x"],
        ["a0", "x"]
      ]

  for (var i = 0, il = invalid.length; i < il; i++) {
    test(function() {
      assert_throws("INVALID_CHARACTER_ERR", function() {
        document.createProcessingInstruction(invalid[i][0], invalid[i][1])
      })
    }, "Should throw an INVALID_CHARACTER_ERR for target " +
       format_value(invalid[i][0]) + " and data " +
       format_value(invalid[i][1]) + ".")
  }
  for (var i = 0, il = valid.length; i < il; ++i) {
    test(function() {
      var pi = document.createProcessingInstruction(valid[i][0], valid[i][1]);
      assert_equals(pi.target, valid[i][0]);
      assert_equals(pi.data, valid[i][1]);
      assert_equals(pi.ownerDocument, document);
      assert_true(pi instanceof ProcessingInstruction);
      assert_true(pi instanceof Node);
    }, "Should get a ProcessingInstruction for target " +
      format_value(valid[i][0]) + " and data " +
      format_value(valid[i][1]) + ".")
  }
})