Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/CharacterData-replaceData.html

Issue 1529523002: Import dom/ from web-platform-tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tweak W3CImportExpectations Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <meta charset=utf-8>
3 <title>CharacterData.replaceData</title>
4 <link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-replacedata" >
5 <link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
6 <script src="../../../../resources/testharness.js"></script>
7 <script src="../../../../resources/testharnessreport.js"></script>
8 <div id="log"></div>
9 <script>
10 function testNode(create, type) {
11 // Step 2.
12 test(function() {
13 var node = create()
14 assert_equals(node.data, "test")
15
16 assert_throws("IndexSizeError", function() { node.replaceData(5, 1, "x") })
17 assert_throws("IndexSizeError", function() { node.replaceData(5, 0, "") })
18 assert_throws("IndexSizeError", function() { node.replaceData(-1, 1, "x") })
19 assert_throws("IndexSizeError", function() { node.replaceData(-1, 0, "") })
20 assert_equals(node.data, "test")
21 }, type + ".replaceData() with invalid offset")
22
23 // Step 3.
24 test(function() {
25 var node = create()
26 assert_equals(node.data, "test")
27
28 node.replaceData(2, 10, "yo")
29 assert_equals(node.data, "teyo")
30 }, type + ".replaceData() with clamped count")
31
32 test(function() {
33 var node = create()
34 assert_equals(node.data, "test")
35
36 node.replaceData(2, -1, "yo")
37 assert_equals(node.data, "teyo")
38 }, type + ".replaceData() with negative clamped count")
39
40 test(function() {
41 var node = create()
42 assert_equals(node.data, "test")
43
44 node.replaceData(0, 0, "yo")
45 assert_equals(node.data, "yotest")
46 }, type + ".replaceData() before the start")
47
48 test(function() {
49 var node = create()
50 assert_equals(node.data, "test")
51
52 node.replaceData(0, 2, "y")
53 assert_equals(node.data, "yst")
54 }, type + ".replaceData() at the start (shorter)")
55
56 test(function() {
57 var node = create()
58 assert_equals(node.data, "test")
59
60 node.replaceData(0, 2, "yo")
61 assert_equals(node.data, "yost")
62 }, type + ".replaceData() at the start (equal length)")
63
64 test(function() {
65 var node = create()
66 assert_equals(node.data, "test")
67
68 node.replaceData(0, 2, "yoa")
69 assert_equals(node.data, "yoast")
70 }, type + ".replaceData() at the start (longer)")
71
72 test(function() {
73 var node = create()
74 assert_equals(node.data, "test")
75
76 node.replaceData(1, 2, "o")
77 assert_equals(node.data, "tot")
78 }, type + ".replaceData() in the middle (shorter)")
79
80 test(function() {
81 var node = create()
82 assert_equals(node.data, "test")
83
84 node.replaceData(1, 2, "yo")
85 assert_equals(node.data, "tyot")
86 }, type + ".replaceData() in the middle (equal length)")
87
88 test(function() {
89 var node = create()
90 assert_equals(node.data, "test")
91
92 node.replaceData(1, 1, "waddup")
93 assert_equals(node.data, "twaddupst")
94 node.replaceData(1, 1, "yup")
95 assert_equals(node.data, "tyupaddupst")
96 }, type + ".replaceData() in the middle (longer)")
97
98 test(function() {
99 var node = create()
100 assert_equals(node.data, "test")
101
102 node.replaceData(1, 20, "yo")
103 assert_equals(node.data, "tyo")
104 }, type + ".replaceData() at the end (shorter)")
105
106 test(function() {
107 var node = create()
108 assert_equals(node.data, "test")
109
110 node.replaceData(2, 20, "yo")
111 assert_equals(node.data, "teyo")
112 }, type + ".replaceData() at the end (same length)")
113
114 test(function() {
115 var node = create()
116 assert_equals(node.data, "test")
117
118 node.replaceData(4, 20, "yo")
119 assert_equals(node.data, "testyo")
120 }, type + ".replaceData() at the end (longer)")
121
122 test(function() {
123 var node = create()
124 assert_equals(node.data, "test")
125
126 node.replaceData(0, 4, "quux")
127 assert_equals(node.data, "quux")
128 }, type + ".replaceData() the whole string")
129
130 test(function() {
131 var node = create()
132 assert_equals(node.data, "test")
133
134 node.replaceData(0, 4, "")
135 assert_equals(node.data, "")
136 }, type + ".replaceData() with the empty string")
137
138 test(function() {
139 var node = create()
140 assert_equals(node.data, "test")
141
142 node.data = "This is the character data test, append 資料,更多資料";
143
144 node.replaceData(33, 6, "other");
145 assert_equals(node.data, "This is the character data test, other 資料,更多資料");
146 node.replaceData(44, 2, "文字");
147 assert_equals(node.data, "This is the character data test, other 資料,更多文字");
148 }, type + ".replaceData() with non-ASCII data")
149
150 test(function() {
151 var node = create()
152 assert_equals(node.data, "test")
153
154 node.data = "🌠 test 🌠 TEST"
155
156 node.replaceData(5, 8, "--"); // Counting UTF-16 code units
157 assert_equals(node.data, "🌠 te--ST");
158 }, type + ".replaceData() with non-BMP data")
159 }
160
161 testNode(function() { return document.createTextNode("test") }, "Text")
162 testNode(function() { return document.createComment("test") }, "Comment")
163 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698