Ticket #3324: 3324_3.patch

File 3324_3.patch, 4.2 KB (added by Garry Yao, 15 years ago)
  • _source/tests/core/dom/documentfragment.html

     
    99        <script type="text/javascript" src="../../test.js"></script>
    1010        <script type="text/javascript">
    1111        //<![CDATA[
    12 CKEDITOR.test.addTestCase( ( function()
     12var tc;
     13CKEDITOR.test.addTestCase( tc = ( function()
    1314{
    1415        // Local reference to the "assert" object.
    15         var assert = YAHOO.util.Assert;
     16        var assert = YAHOO.util.Assert,
     17                doc = CKEDITOR.document;
    1618
    1719        return {
    1820
     
    105107
    106108                test_ltrim : function()
    107109                {
    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 );
    110116                        var frag =
    111117                                        new CKEDITOR.dom.documentFragment( CKEDITOR.document );
    112118                        element.moveChildren( frag );
     
    113119                        frag.ltrim();
    114120                        var ct = new CKEDITOR.dom.element( 'div' );
    115121                        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() );
    117142                },
    118143
    119144                test_rtrim : function()
     
    118143
    119144                test_rtrim : function()
    120145                {
    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 );
    123150                        var frag =
    124151                                        new CKEDITOR.dom.documentFragment( CKEDITOR.document );
    125152                        element.moveChildren( frag );
     
    126153                        frag.rtrim();
    127154                        var ct = new CKEDITOR.dom.element( 'div' );
    128155                        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() );
    130177                },
    131178
     179
    132180                test_trim : function()
    133181                {
     182                        if ( !CKEDITOR.env.ie )
     183                                return;
    134184                        var element =
    135185                                        CKEDITOR.document.getById( 'trimTarget' ).clone( true );
    136186                        var frag =
     
    142192                        assert.areSame( 'text', ct.getText() );
    143193                },
    144194
     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
    145215                test_insertAfter : function()
    146216                {
    147217                        var frag =
     
    208278        };
    209279} )() );
    210280
     281//window.onload = tc.test_rtrim_ie;
    211282        //]]>
    212283        </script>
    213284</head>
     
    215286        <div id="fragmentContainer1"></div>
    216287        <div id="fragmentContainer2"><div id="fragmentSibling1"></div></div>
    217288        <div id="fragmentContainer3"></div>
    218         <div id="trimTarget">
    219 text
     289        <div id="trimTarget">   
     290text   
    220291</div>
    221292        <iframe id="innerFrame" name="innerFrame" src="about:blank"></iframe>
    222293</body>
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy