| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>CharacterData.data</title> |
| <link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <script> |
| function testNode(create, type) { |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| assert_equals(node.length, 4) |
| }, type + ".data initial value") |
| |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| |
| node.data = null; |
| assert_equals(node.data, "") |
| assert_equals(node.length, 0) |
| }, type + ".data = null") |
| |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| |
| node.data = undefined; |
| assert_equals(node.data, "undefined") |
| assert_equals(node.length, 9) |
| }, type + ".data = undefined") |
| |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| |
| node.data = 0; |
| assert_equals(node.data, "0") |
| assert_equals(node.length, 1) |
| }, type + ".data = 0") |
| |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| |
| node.data = ""; |
| assert_equals(node.data, "") |
| assert_equals(node.length, 0) |
| }, type + ".data = ''") |
| |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| |
| node.data = "--"; |
| assert_equals(node.data, "--") |
| assert_equals(node.length, 2) |
| }, type + ".data = '--'") |
| |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| |
| node.data = "資料"; |
| assert_equals(node.data, "資料") |
| assert_equals(node.length, 2) |
| }, type + ".data = '資料'") |
| |
| test(function() { |
| var node = create() |
| assert_equals(node.data, "test") |
| |
| node.data = "🌠 test 🌠 TEST"; |
| assert_equals(node.data, "🌠 test 🌠 TEST") |
| assert_equals(node.length, 15) // Counting UTF-16 code units |
| }, type + ".data = '🌠 test 🌠 TEST'") |
| } |
| |
| testNode(function() { return document.createTextNode("test") }, "Text") |
| testNode(function() { return document.createComment("test") }, "Comment") |
| </script> |