OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE HTML> |
| 2 <meta charset=utf-8> |
| 3 <title>MutationObservers: characterData mutations</title> |
| 4 <script src="../../../../resources/testharness.js"></script> |
| 5 <script src="../../../../resources/testharnessreport.js"></script> |
| 6 <script src="mutationobservers.js"></script> |
| 7 <h1>MutationObservers: characterData mutations</h1> |
| 8 <div id="log"></div> |
| 9 |
| 10 <section style="display: none"> |
| 11 |
| 12 <p id='n'>text content</p> |
| 13 |
| 14 <p id='n00'>text content</p> |
| 15 |
| 16 <p id='n10'>CHAN</p> |
| 17 <p id='n11'>CHANGED</p> |
| 18 <p id='n12'>CHANGED</p> |
| 19 |
| 20 <p id='n20'>CHGED</p> |
| 21 <p id='n21'>CHANGED</p> |
| 22 <p id='n22'>CHANGED</p> |
| 23 |
| 24 <p id='n30'>CCCHANGED</p> |
| 25 <p id='n31'>CHANGED</p> |
| 26 |
| 27 <p id='n40'>CCCHANGED</p> |
| 28 <p id='n41'>CHANGED</p> |
| 29 |
| 30 <p id="n50"><?processing data?></p> |
| 31 |
| 32 <p id="n60"><!-- data --></p> |
| 33 |
| 34 <p id='n70'>CHANN</p> |
| 35 <p id='n71'>CHANN</p> |
| 36 |
| 37 <p id='n80'>CHANN</p> |
| 38 <p id='n81'>CHANN</p> |
| 39 |
| 40 <p id='n90'>CHANN</p> |
| 41 |
| 42 </section> |
| 43 |
| 44 <script> |
| 45 var n = document.getElementById('n').firstChild; |
| 46 runMutationTest(n, |
| 47 {"characterData":true}, |
| 48 [{type: "characterData"}], |
| 49 function() { n.data = "NEW VALUE"; }, |
| 50 "characterData Text.data: simple mutation without oldValue"); |
| 51 |
| 52 var n00 = document.getElementById('n00').firstChild; |
| 53 runMutationTest(n00, |
| 54 {"characterData":true,"characterDataOldValue":true}, |
| 55 [{type: "characterData", oldValue: "text content" }], |
| 56 function() { n00.data = "CHANGED"; }, |
| 57 "characterData Text.data: simple mutation"); |
| 58 |
| 59 var n10 = document.getElementById('n10').firstChild; |
| 60 runMutationTest(n10, |
| 61 {"characterData":true,"characterDataOldValue":true}, |
| 62 [{type: "characterData", oldValue: "CHAN" }], |
| 63 function() { n10.appendData("GED"); }, |
| 64 "characterData Text.appendData: simple mutation"); |
| 65 |
| 66 var n11 = document.getElementById('n11').firstChild; |
| 67 runMutationTest(n11, |
| 68 {"characterData":true,"characterDataOldValue":true}, |
| 69 [{type: "characterData", oldValue: "CHANGED" }], |
| 70 function() { n11.appendData(""); }, |
| 71 "characterData Text.appendData: empty string mutation"); |
| 72 |
| 73 var n12 = document.getElementById('n12').firstChild; |
| 74 runMutationTest(n12, |
| 75 {"characterData":true,"characterDataOldValue":true}, |
| 76 [{type: "characterData", oldValue: "CHANGED" }], |
| 77 function() { n12.appendData(null); }, |
| 78 "characterData Text.appendData: null string mutation"); |
| 79 |
| 80 var n20 = document.getElementById('n20').firstChild; |
| 81 runMutationTest(n20, |
| 82 {"characterData":true,"characterDataOldValue":true}, |
| 83 [{type: "characterData", oldValue: "CHGED" }], |
| 84 function() { n20.insertData(2, "AN"); }, |
| 85 "characterData Text.insertData: simple mutation"); |
| 86 |
| 87 var n21 = document.getElementById('n21').firstChild; |
| 88 runMutationTest(n21, |
| 89 {"characterData":true,"characterDataOldValue":true}, |
| 90 [{type: "characterData", oldValue: "CHANGED" }], |
| 91 function() { n21.insertData(2, ""); }, |
| 92 "characterData Text.insertData: empty string mutation"); |
| 93 |
| 94 var n22 = document.getElementById('n22').firstChild; |
| 95 runMutationTest(n22, |
| 96 {"characterData":true,"characterDataOldValue":true}, |
| 97 [{type: "characterData", oldValue: "CHANGED" }], |
| 98 function() { n22.insertData(2, null); }, |
| 99 "characterData Text.insertData: null string mutation"); |
| 100 |
| 101 var n30 = document.getElementById('n30').firstChild; |
| 102 runMutationTest(n30, |
| 103 {"characterData":true,"characterDataOldValue":true}, |
| 104 [{type: "characterData", oldValue: "CCCHANGED" }], |
| 105 function() { n30.deleteData(0, 2); }, |
| 106 "characterData Text.deleteData: simple mutation"); |
| 107 |
| 108 var n31 = document.getElementById('n31').firstChild; |
| 109 runMutationTest(n31, |
| 110 {"characterData":true,"characterDataOldValue":true}, |
| 111 [{type: "characterData", oldValue: "CHANGED" }, {type: "charac
terData", oldValue: "CHANGED" }], |
| 112 function() { n31.deleteData(0, 0); n31.data = "n31"; }, |
| 113 "characterData Text.deleteData: empty mutation"); |
| 114 |
| 115 var n40 = document.getElementById('n40').firstChild; |
| 116 runMutationTest(n40, |
| 117 {"characterData":true,"characterDataOldValue":true}, |
| 118 [{type: "characterData", oldValue: "CCCHANGED" }], |
| 119 function() { n40.replaceData(0, 2, "CH"); }, |
| 120 "characterData Text.replaceData: simple mutation"); |
| 121 |
| 122 var n41 = document.getElementById('n41').firstChild; |
| 123 runMutationTest(n41, |
| 124 {"characterData":true,"characterDataOldValue":true}, |
| 125 [{type: "characterData", oldValue: "CHANGED" }], |
| 126 function() { n41.replaceData(0, 0, "CH"); }, |
| 127 "characterData Text.replaceData: empty mutation"); |
| 128 |
| 129 var n50 = document.getElementById('n50').firstChild; |
| 130 runMutationTest(n50, |
| 131 {"characterData":true,"characterDataOldValue":true}, |
| 132 [{type: "characterData", oldValue: "?processing data?" },{type
: "characterData", oldValue: "CHANGED" },{type: "characterData", oldValue: "CHAN
GED" }], |
| 133 function() { |
| 134 n50.data = "CHANGED"; |
| 135 n50.deleteData(0, 0); |
| 136 n50.replaceData(0, 2, "CH"); }, |
| 137 "characterData ProcessingInstruction: data mutations"); |
| 138 |
| 139 var n60 = document.getElementById('n60').firstChild; |
| 140 runMutationTest(n60, |
| 141 {"characterData":true,"characterDataOldValue":true}, |
| 142 [{type: "characterData", oldValue: " data " },{type: "characte
rData", oldValue: "CHANGED" },{type: "characterData", oldValue: "CHANGED" }], |
| 143 function() { |
| 144 n60.data = "CHANGED"; |
| 145 n60.deleteData(0, 0); |
| 146 n60.replaceData(0, 2, "CH"); }, |
| 147 "characterData Comment: data mutations"); |
| 148 |
| 149 var n70 = document.getElementById('n70'); |
| 150 var r70 = null; |
| 151 test(function () { |
| 152 n70.appendChild(document.createTextNode("NNN")); |
| 153 n70.appendChild(document.createTextNode("NGED")); |
| 154 r70 = document.createRange(); |
| 155 r70.setStart(n70.firstChild, 4); |
| 156 r70.setEnd(n70.lastChild, 1); |
| 157 }, "Range (r70) is created"); |
| 158 runMutationTest(n70.firstChild, |
| 159 {"characterData":true,"characterDataOldValue":true}, |
| 160 [{type: "characterData", oldValue: "CHANN" }], |
| 161 function() { r70.deleteContents(); }, |
| 162 "characterData Range.deleteContents: child and data removal mu
tation"); |
| 163 |
| 164 var n71 = document.getElementById('n71'); |
| 165 var r71 = null; |
| 166 test(function () { |
| 167 n71.appendChild(document.createTextNode("NNN")); |
| 168 n71.appendChild(document.createTextNode("NGED")); |
| 169 r71 = document.createRange(); |
| 170 r71.setStart(n71.firstChild, 4); |
| 171 r71.setEnd(n71.lastChild, 1); |
| 172 }, "Range (r71) is created"); |
| 173 runMutationTest(n71.lastChild, |
| 174 {"characterData":true,"characterDataOldValue":true}, |
| 175 [{type: "characterData", oldValue: "NGED"}], |
| 176 function() { r71.deleteContents(); }, |
| 177 "characterData Range.deleteContents: child and data removal mu
tation (2)"); |
| 178 |
| 179 var n80 = document.getElementById('n80'); |
| 180 var r80 = null; |
| 181 test(function () { |
| 182 n80.appendChild(document.createTextNode("NNN")); |
| 183 n80.appendChild(document.createTextNode("NGED")); |
| 184 r80 = document.createRange(); |
| 185 r80.setStart(n80.firstChild, 4); |
| 186 r80.setEnd(n80.lastChild, 1); |
| 187 }, "Range (r80) is created"); |
| 188 runMutationTest(n80.firstChild, |
| 189 {"characterData":true,"characterDataOldValue":true}, |
| 190 [{type: "characterData", oldValue: "CHANN" }], |
| 191 function() { r80.extractContents(); }, |
| 192 "characterData Range.extractContents: child and data removal m
utation"); |
| 193 |
| 194 var n81 = document.getElementById('n81'); |
| 195 var r81 = null; |
| 196 test(function () { |
| 197 n81.appendChild(document.createTextNode("NNN")); |
| 198 n81.appendChild(document.createTextNode("NGED")); |
| 199 r81 = document.createRange(); |
| 200 r81.setStart(n81.firstChild, 4); |
| 201 r81.setEnd(n81.lastChild, 1); |
| 202 }, "Range (r81) is created"); |
| 203 runMutationTest(n81.lastChild, |
| 204 {"characterData":true,"characterDataOldValue":true}, |
| 205 [{type: "characterData", oldValue: "NGED" }], |
| 206 function() { r81.extractContents(); }, |
| 207 "characterData Range.extractContents: child and data removal m
utation (2)"); |
| 208 |
| 209 var n90 = document.getElementById('n90').firstChild; |
| 210 runMutationTest(n90, |
| 211 {"characterDataOldValue":true}, |
| 212 [{type: "characterData", oldValue: "CHANN" }], |
| 213 function() { n90.data = "CHANGED"; }, |
| 214 "characterData/characterDataOldValue alone Text.data: simple m
utation"); |
| 215 </script> |
OLD | NEW |