+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
- <title>CKEDITOR.dom.documentFragment</title>\r
- <link rel="stylesheet" type="text/css" href="../../test.css" />\r
- <script type="text/javascript" src="../../../ckeditor.js"></script>\r
- <script type="text/javascript" src="../../test.js"></script>\r
- <script type="text/javascript">\r
- //<![CDATA[\r
-var tc;\r
-CKEDITOR.test.addTestCase( tc = ( function()\r
-{\r
- // Local reference to the "assert" object.\r
- var assert = YAHOO.util.Assert,\r
- doc = CKEDITOR.document;\r
-\r
- return {\r
-\r
- test_appendTo : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner =\r
- new CKEDITOR.dom.element( 'b' );\r
- frag.append( inner );\r
- var container = CKEDITOR.document.getById( 'fragmentContainer1' );\r
- frag.appendTo( container );\r
- assert.isTrue( container.getLast().equals( inner ) );\r
- },\r
-\r
- test_append : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner =\r
- new CKEDITOR.dom.element( 'b' );\r
- frag.append( inner );\r
- var container = CKEDITOR.document.getById( 'fragmentContainer3' );\r
- container.append( frag );\r
- assert.isTrue( container.getLast().equals( inner ) );\r
- },\r
-\r
- test_getFirst : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner =\r
- new CKEDITOR.dom.element( 'b' );\r
- frag.append( inner );\r
- var first = frag.getFirst();\r
- assert.isTrue( first.equals( inner ) );\r
- },\r
-\r
- test_getLast : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner =\r
- new CKEDITOR.dom.element( 'b' ), lastInner = inner.clone();\r
- frag.append( inner );\r
- frag.append( lastInner );\r
- var last = frag.getLast();\r
- assert.isTrue( last.equals( lastInner ) );\r
- },\r
-\r
- test_moveChildren : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner1 = new CKEDITOR.dom.element( 'b' ),\r
- inner2 = new CKEDITOR.dom.element( 'i' );\r
- frag.append( inner1 );\r
- frag.append( inner2 );\r
-\r
- // Move to element\r
- var element = new CKEDITOR.dom.element( 'span' );\r
- frag.moveChildren( element, true );\r
- assert.isTrue( element.getFirst().equals( inner1 ) );\r
- assert.isTrue( element.getLast().equals( inner2 ) );\r
- },\r
-\r
- test_moveChildren2 : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner1 = new CKEDITOR.dom.element( 'b' ),\r
- inner2 = new CKEDITOR.dom.element( 'i' );\r
- frag.append( inner1 );\r
- frag.append( inner2 );\r
-\r
- // Move to fragment\r
- var anotherFrag = new CKEDITOR.dom.documentFragment(\r
- CKEDITOR.document );\r
- frag.moveChildren( anotherFrag, true );\r
- assert.isTrue( anotherFrag.getFirst().equals( inner1 ) );\r
- assert.isTrue( anotherFrag.getLast().equals( inner2 ) );\r
- },\r
-\r
- test_appendText : function()\r
- {\r
- var element = new CKEDITOR.dom.element( 'script' );\r
- element.appendText( 'Test appendText' );\r
- assert.areEqual( 'Test appendText', element.$.text );\r
- },\r
-\r
- test_ltrim : function()\r
- {\r
- // IE need special treatement to setup this tc, see\r
- // next tc for this.\r
- if ( CKEDITOR.env.ie )\r
- return;\r
- var element = CKEDITOR.dom.element.createFromHtml(\r
- '<div id="trimTarget">\t\ntext\t\n</div>'\r
- );\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- element.moveChildren( frag );\r
- frag.ltrim();\r
- var ct = new CKEDITOR.dom.element( 'div' );\r
- ct.append( frag );\r
- assert.areSame( 'text\t\n', ct.getText() );\r
- },\r
-\r
- test_ltrim_ie : function()\r
- {\r
- if ( !CKEDITOR.env.ie )\r
- return;\r
- // IE dom operation will trim preceding empty text,\r
- // here we use 'splitText' way to create leading spaces\r
- // instead for testing.\r
- var emptyTextNode = doc.createText( '@ \ttext\t ');\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( doc );\r
- frag.append( emptyTextNode );\r
- frag.getFirst().$.splitText( 1 );\r
- frag.getFirst().remove();\r
- frag.ltrim();\r
- var ct = new CKEDITOR.dom.element( 'div' );\r
- ct.append( frag );\r
- assert.areSame( 'text\t ', ct.getText() );\r
- },\r
-\r
- test_rtrim : function()\r
- {\r
- if ( CKEDITOR.env.ie )\r
- return;\r
- var element = CKEDITOR.dom.element.createFromHtml(\r
- '<div id="trimTarget">\t\ntext\t\n</div>'\r
- );\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- element.moveChildren( frag );\r
- frag.rtrim();\r
- var ct = new CKEDITOR.dom.element( 'div' );\r
- ct.append( frag );\r
-\r
- assert.areSame( '\t\ntext', ct.getText() );\r
- },\r
-\r
- /**\r
- *@see test_ltrim_ie\r
- */\r
- test_rtrim_ie : function()\r
- {\r
- if ( !CKEDITOR.env.ie )\r
- return;\r
- var emptyTextNode = doc.createText( '@ \ttext\t ');\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( doc );\r
- frag.append( emptyTextNode );\r
- frag.getFirst().$.splitText( 1 );\r
- frag.getFirst().remove();\r
- frag.rtrim();\r
- var ct = new CKEDITOR.dom.element( 'div' );\r
- ct.append( frag );\r
- assert.areSame( ' \ttext', ct.getText() );\r
- },\r
-\r
-\r
- test_trim : function()\r
- {\r
- if ( !CKEDITOR.env.ie )\r
- return;\r
- var element = CKEDITOR.dom.element.createFromHtml(\r
- '<div id="trimTarget">\t\ntext\t\n</div>'\r
- );\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- element.moveChildren( frag );\r
- frag.trim();\r
- var ct = new CKEDITOR.dom.element( 'div' );\r
- ct.append( frag );\r
- assert.areSame( 'text', ct.getText() );\r
- },\r
-\r
-\r
- /**\r
- *@see test_ltrim_ie\r
- */\r
- test_trim_ie : function()\r
- {\r
- if ( !CKEDITOR.env.ie )\r
- return;\r
- var emptyTextNode = doc.createText( '@ \t\ntext\t\n ');\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( doc );\r
- frag.append( emptyTextNode );\r
- frag.getFirst().$.splitText( 1 );\r
- frag.getFirst().remove();\r
- frag.trim();\r
- var ct = new CKEDITOR.dom.element( 'div' );\r
- ct.append( frag );\r
- assert.areSame( 'text', ct.getText() );\r
- },\r
-\r
- test_insertAfter : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner = new CKEDITOR.dom.element( 'b' );\r
- frag.append( inner );\r
- var container = CKEDITOR.document.getById( 'fragmentContainer2' );\r
- var sibling = CKEDITOR.document.getById( 'fragmentSibling1' );\r
- frag.insertAfterNode( sibling );\r
- assert.isTrue( container.getLast().equals( inner ) );\r
- },\r
-\r
- test_getChildCount : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner1 = new CKEDITOR.dom.element( 'b' ),\r
- inner2 = new CKEDITOR.dom.element( 'i' );\r
- frag.append( inner1 );\r
- frag.append( inner2 );\r
-\r
- assert.areEqual( 2, frag.getChildCount() );\r
- },\r
-\r
- test_getChild : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner1 = new CKEDITOR.dom.element( 'b' ),\r
- inner2 = new CKEDITOR.dom.element( 'i' );\r
- frag.append( inner1 );\r
- frag.append( inner2 );\r
-\r
- assert.isTrue( inner2.equals( frag.getChild( 1 ) ) );\r
- },\r
-\r
- test_getChildren : function()\r
- {\r
- var frag =\r
- new CKEDITOR.dom.documentFragment( CKEDITOR.document );\r
- var inner1 = new CKEDITOR.dom.element( 'b' ),\r
- inner2 = new CKEDITOR.dom.element( 'i' );\r
- frag.append( inner1 );\r
- frag.append( inner2 );\r
-\r
- var childNodesList = frag.getChildren();\r
- assert.areEqual( 2, childNodesList.count() );\r
- assert.isTrue( inner2.equals( childNodesList.getItem( 1 ) ) );\r
- },\r
-\r
- test_getDocument : function()\r
- {\r
- var doc = CKEDITOR.document,\r
- innerDoc = new CKEDITOR.dom.document(\r
- doc.getById( 'innerFrame' ).$.contentWindow.document );\r
- var frag1 = new CKEDITOR.dom.documentFragment( doc ),\r
- frag2 = new CKEDITOR.dom.documentFragment( innerDoc );\r
-\r
- assert.isTrue( doc.equals( frag1.getDocument() ) );\r
- assert.isTrue( innerDoc.equals( frag2.getDocument() ) );\r
- },\r
-\r
- name :document.title\r
- };\r
-} )() );\r
-\r
-//window.onload = tc.test_rtrim_ie;\r
- //]]>\r
- </script>\r
-</head>\r
-<body>\r
- <div id="fragmentContainer1"></div>\r
- <div id="fragmentContainer2"><div id="fragmentSibling1"></div></div>\r
- <div id="fragmentContainer3"></div>\r
- <iframe id="innerFrame" name="innerFrame" src="about:blank"></iframe>\r
-</body>\r
-</html>\r