Ticket #3324: 3324_3.patch
File 3324_3.patch, 4.2 KB (added by , 15 years ago) |
---|
-
_source/tests/core/dom/documentfragment.html
9 9 <script type="text/javascript" src="../../test.js"></script> 10 10 <script type="text/javascript"> 11 11 //<![CDATA[ 12 CKEDITOR.test.addTestCase( ( function() 12 var tc; 13 CKEDITOR.test.addTestCase( tc = ( function() 13 14 { 14 15 // Local reference to the "assert" object. 15 var assert = YAHOO.util.Assert; 16 var assert = YAHOO.util.Assert, 17 doc = CKEDITOR.document; 16 18 17 19 return { 18 20 … … 105 107 106 108 test_ltrim : function() 107 109 { 108 var element = CKEDITOR.document.getById( 'trimTarget' ) 109 .clone( true ); 110 // IE need special treatement to setup this tc, see 111 // next tc for this. 112 if ( CKEDITOR.env.ie ) 113 return; 114 var element = CKEDITOR.document.getById( 115 'trimTarget' ).clone( true ); 110 116 var frag = 111 117 new CKEDITOR.dom.documentFragment( CKEDITOR.document ); 112 118 element.moveChildren( frag ); … … 113 119 frag.ltrim(); 114 120 var ct = new CKEDITOR.dom.element( 'div' ); 115 121 ct.append( frag ); 116 assert.areSame( 'text \t\n', ct.getText() ); 122 assert.areSame( 'text\t\n', ct.getText() ); 123 }, 124 125 test_ltrim_ie : function() 126 { 127 if ( !CKEDITOR.env.ie ) 128 return; 129 // IE dom operation will trim preceding empty text, 130 // here we use 'splitText' way to create leading spaces 131 // instead for testing. 132 var emptyTextNode = doc.createText( '@ \ttext\t '); 133 var frag = 134 new CKEDITOR.dom.documentFragment( doc ); 135 frag.append( emptyTextNode ); 136 frag.getFirst().$.splitText( 1 ); 137 frag.getFirst().remove(); 138 frag.ltrim(); 139 var ct = new CKEDITOR.dom.element( 'div' ); 140 ct.append( frag ); 141 assert.areSame( 'text\t ', ct.getText() ); 117 142 }, 118 143 119 144 test_rtrim : function() … … 118 143 119 144 test_rtrim : function() 120 145 { 121 var element = CKEDITOR.document.getById( 'trimTarget' ) 122 .clone( true ); 146 if ( CKEDITOR.env.ie ) 147 return; 148 var element = CKEDITOR.document.getById( 149 'trimTarget' ).clone( true ); 123 150 var frag = 124 151 new CKEDITOR.dom.documentFragment( CKEDITOR.document ); 125 152 element.moveChildren( frag ); … … 126 153 frag.rtrim(); 127 154 var ct = new CKEDITOR.dom.element( 'div' ); 128 155 ct.append( frag ); 129 assert.areSame( ' \t\ntext', ct.getText() ); 156 157 assert.areSame( '\t\ntext', ct.getText() ); 158 }, 159 160 /** 161 *@see test_ltrim_ie 162 */ 163 test_rtrim_ie : function() 164 { 165 if ( !CKEDITOR.env.ie ) 166 return; 167 var emptyTextNode = doc.createText( '@ \ttext\t '); 168 var frag = 169 new CKEDITOR.dom.documentFragment( doc ); 170 frag.append( emptyTextNode ); 171 frag.getFirst().$.splitText( 1 ); 172 frag.getFirst().remove(); 173 frag.rtrim(); 174 var ct = new CKEDITOR.dom.element( 'div' ); 175 ct.append( frag ); 176 assert.areSame( ' \ttext', ct.getText() ); 130 177 }, 131 178 179 132 180 test_trim : function() 133 181 { 182 if ( !CKEDITOR.env.ie ) 183 return; 134 184 var element = 135 185 CKEDITOR.document.getById( 'trimTarget' ).clone( true ); 136 186 var frag = … … 142 192 assert.areSame( 'text', ct.getText() ); 143 193 }, 144 194 195 196 /** 197 *@see test_ltrim_ie 198 */ 199 test_trim_ie : function() 200 { 201 if ( !CKEDITOR.env.ie ) 202 return; 203 var emptyTextNode = doc.createText( '@ \t\ntext\t\n '); 204 var frag = 205 new CKEDITOR.dom.documentFragment( doc ); 206 frag.append( emptyTextNode ); 207 frag.getFirst().$.splitText( 1 ); 208 frag.getFirst().remove(); 209 frag.trim(); 210 var ct = new CKEDITOR.dom.element( 'div' ); 211 ct.append( frag ); 212 assert.areSame( 'text', ct.getText() ); 213 }, 214 145 215 test_insertAfter : function() 146 216 { 147 217 var frag = … … 208 278 }; 209 279 } )() ); 210 280 281 //window.onload = tc.test_rtrim_ie; 211 282 //]]> 212 283 </script> 213 284 </head> … … 215 286 <div id="fragmentContainer1"></div> 216 287 <div id="fragmentContainer2"><div id="fragmentSibling1"></div></div> 217 288 <div id="fragmentContainer3"></div> 218 <div id="trimTarget"> 219 text 289 <div id="trimTarget"> 290 text 220 291 </div> 221 292 <iframe id="innerFrame" name="innerFrame" src="about:blank"></iframe> 222 293 </body>