JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.0.1
[ckeditor.git] / _tests / core / dom / range.html
diff --git a/_tests/core/dom/range.html b/_tests/core/dom/range.html
deleted file mode 100644 (file)
index 6ed253d..0000000
+++ /dev/null
@@ -1,2411 +0,0 @@
-<!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.range</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
-\r
-var html1, html2;\r
-var tests;\r
-\r
-CKEDITOR.test.addTestCase( (function()\r
-{\r
-       // Local references.\r
-       var assert                      = CKEDITOR.test.assert;\r
-       var getInnerHtml        = CKEDITOR.test.getInnerHtml;\r
-\r
-       var doc = new CKEDITOR.dom.document( document );\r
-\r
-       var getRange = function( startId, endId )\r
-       {\r
-               var range = new CKEDITOR.dom.range( CKEDITOR.document );\r
-               range.moveToBookmark( { startNode : startId, endNode : endId, serializable : true } );\r
-               return range;\r
-       };\r
-\r
-       return tests = {\r
-               test__constructor : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       assert.isNotNull( range, 'range must not be null' );\r
-\r
-                       assert.isNull( range.startContainer, 'startContainer must be null' );\r
-                       assert.isNull( range.startOffset, 'startOffset must be null' );\r
-                       assert.isNull( range.endContainer, 'endContainer must be null' );\r
-                       assert.isNull( range.endOffset, 'endOffset must be null' );\r
-\r
-                       assert.isTrue( range.collapsed, 'range must be collapsed' );\r
-               },\r
-\r
-               test_setStart : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( 'playground' ), 1 );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$ );\r
-                       assert.areSame( 1, range.startOffset );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$ );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed );\r
-               },\r
-\r
-               test_setEnd : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setEnd( doc.getById( 'playground' ), 1 );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$ );\r
-                       assert.areSame( 1, range.startOffset );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$ );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed );\r
-               },\r
-\r
-               test_setStartAfter : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAfter( doc.getById( '_B' ) );\r
-                       range.setStartAfter( doc.getById( '_H1' ).getFirst() );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_setStartBefore : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartBefore( doc.getById( '_B' ) );\r
-                       range.setStartBefore( doc.getById( '_H1' ).getFirst() );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_setEndAfter : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setEndAfter( doc.getById( '_H1' ).getFirst() );\r
-                       range.setEndAfter( doc.getById( '_B' ) );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_setEndBefore : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setEndBefore( doc.getById( '_H1' ).getFirst() );\r
-                       range.setEndBefore( doc.getById( '_B' ) );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_setStartAt_1 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAt( doc.getById('_Span'), CKEDITOR.POSITION_AFTER_START );\r
-\r
-                       assert.areSame( document.getElementById('_Span'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_Span'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_setStartAt_2 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAt( doc.getById('_Span'), CKEDITOR.POSITION_BEFORE_END );\r
-\r
-                       assert.areSame( document.getElementById('_Span'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_Span'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_setStartAt_3 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAt( doc.getById('_Span'), CKEDITOR.POSITION_BEFORE_START );\r
-\r
-                       assert.areSame( document.getElementById('_P'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_P'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_setStartAt_4 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAt( doc.getById('_Span'), CKEDITOR.POSITION_AFTER_END );\r
-\r
-                       assert.areSame( document.getElementById('_P'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_P'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_setEndAt_1 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setEndAt( doc.getById('_Span'), CKEDITOR.POSITION_AFTER_START );\r
-\r
-                       assert.areSame( document.getElementById('_Span'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_Span'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_setEndAt_2 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setEndAt( doc.getById('_Span'), CKEDITOR.POSITION_BEFORE_END );\r
-\r
-                       assert.areSame( document.getElementById('_Span'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_Span'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_setEndAt_3 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setEndAt( doc.getById('_Span'), CKEDITOR.POSITION_BEFORE_START );\r
-\r
-                       assert.areSame( document.getElementById('_P'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_P'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_setEndAt_4 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setEndAt( doc.getById('_Span'), CKEDITOR.POSITION_AFTER_END );\r
-\r
-                       assert.areSame( document.getElementById('_P'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_P'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_collapsed : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAt( doc.getById( '_P' ), CKEDITOR.POSITION_AFTER_START );\r
-\r
-                       assert.isTrue( range.collapsed );\r
-               },\r
-\r
-               test_collapse : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAt( doc.getById( '_Para' ), CKEDITOR.POSITION_AFTER_START );\r
-                       range.setEndAt( doc.getById( '_Span' ), CKEDITOR.POSITION_BEFORE_END );\r
-\r
-                       assert.areSame( document.getElementById('_Para'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_Span'), range.endContainer.$, 'endContainer' );\r
-                       assert.isFalse( range.collapsed, 'collapsed' );\r
-\r
-                       range.collapse( true );\r
-\r
-                       assert.areSame( document.getElementById('_Para'), range.startContainer.$, 'startContainer' );\r
-                       assert.areSame( document.getElementById('_Para'), range.endContainer.$, 'endContainer' );\r
-                       assert.isTrue( range.collapsed, 'collapsed' );\r
-               },\r
-\r
-               test_selectNodeContents_Element : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       // Test with an Element node.\r
-                       range.selectNodeContents( doc.getById( '_Para' ) );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 3, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_selectNodeContents_Text : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       // Test with a Text node.\r
-                       range.selectNodeContents( doc.getById( '_Para' ).getFirst() );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ).firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 8, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_collapse_ToStart : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById( '_P' ) );\r
-                       range.collapse( true );\r
-\r
-                       assert.areSame( document.getElementById( '_P' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_P' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_collapse_ToEnd : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById( '_Para' ) );\r
-                       range.collapse( false );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 3, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 3, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_insertNode_ElementContents : function()\r
-               {\r
-                       var newNode = new CKEDITOR.dom.element( 'span' );\r
-                       newNode.setHtml( 'test_' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById( '_B' ) );\r
-                       range.insertNode( newNode );\r
-\r
-                       assert.areSame( document.getElementById( '_B' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_B' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_insertNode_ElementCollapsed : function()\r
-               {\r
-                       var newNode = new CKEDITOR.dom.element( 'span' );\r
-                       newNode.setHtml( 'test_' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartBefore( doc.getById( '_Para' ) );\r
-                       range.insertNode( newNode );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_insertNode_ElementNotCollapsed : function()\r
-               {\r
-                       var newNode = new CKEDITOR.dom.element( 'span' );\r
-                       newNode.setHtml( 'test_' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartBefore( doc.getById( '_Para' ) );\r
-                       range.setStartBefore( doc.getById( '_H1' ) );\r
-                       range.insertNode( newNode );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_insertNode_DiffElements : function()\r
-               {\r
-                       var newNode = new CKEDITOR.dom.element( 'span' );\r
-                       newNode.setHtml( 'test_' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById( '_Para' ) );\r
-\r
-                       range.setStart( doc.getById( '_H1' ), 0 );\r
-                       range.insertNode( newNode );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 3, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-\r
-                       assert.isTrue( range.startContainer.getChild( range.startOffset ).equals( newNode ), 'Start must be on new node' );\r
-               },\r
-\r
-               test_insertNode_TextCollapsed : function()\r
-               {\r
-                       var newNode = new CKEDITOR.dom.element( 'span' );\r
-                       newNode.setHtml( 'test_' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( doc.getById( '_H1' ).getFirst(), 3 );\r
-                       range.insertNode( newNode );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_H1' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_insertNode_TextNotCollapsed : function()\r
-               {\r
-                       var newNode = new CKEDITOR.dom.element( 'span' );\r
-                       newNode.setHtml( 'test_' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( doc.getById( '_H1' ).getFirst(), 3 );\r
-                       range.setEnd( doc.getById( '_H1' ).getFirst(), 5 );\r
-                       range.insertNode( newNode );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_H1' ).childNodes[2], range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_insertNode_Mixed : function()\r
-               {\r
-                       var newNode = new CKEDITOR.dom.element( 'span' );\r
-                       newNode.setHtml( 'test_' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( doc.getById( '_H1' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_P' ), 1 );\r
-                       range.insertNode( newNode );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_P' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_getCommonAncestor1 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_H1' ).getFirst(), 3 );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ).firstChild, range.getCommonAncestor().$ );\r
-               },\r
-\r
-               test_getCommonAncestor2 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_H1' ), 0 );\r
-\r
-                       assert.areSame( document.getElementById( '_H1' ), range.getCommonAncestor().$ );\r
-               },\r
-\r
-               test_getCommonAncestor3 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_H1' ), 0 );\r
-                       range.setEnd( doc.getById( '_Para' ), 0 );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.getCommonAncestor().$ );\r
-               },\r
-\r
-               test_getCommonAncestor4 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_Para' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_B' ), 0 );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ), range.getCommonAncestor().$ );\r
-               },\r
-\r
-               test_getCommonAncestor5 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getBody(), 0 );\r
-                       range.setEnd( doc.getById( '_B' ).getFirst(), 1 );\r
-\r
-                       assert.areSame( document.body, range.getCommonAncestor().$ );\r
-               },\r
-\r
-               test_getCommonAncestor6 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI' ).getFirst(), 2 );\r
-                       range.setEnd( doc.getById( '_EnlargeB' ), 3 );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeB' ), range.getCommonAncestor().$ );\r
-               },\r
-\r
-               test_enlarge_element1 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> Test <b> <i>  [Enlarge]</i> this</b>   </p>\r
-                       // <p> Test <b> [<i>  Enlarge</i>] this</b>   </p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI' ).getFirst(), 2 );\r
-                       range.setEnd( doc.getById( '_EnlargeI' ), 1 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeB' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element1_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>Test <b><i>[Enlarge]</i> this</b></p>\r
-                       // <p>Test <b>[<i>Enlarge</i>] this</b></p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeI' ), 1 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeB' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element2 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> Test <b> <i>  [Enlarge</i> this]</b>   </p>\r
-                       // <p> Test [<b> <i>  Enlarge</i> this</b>]   </p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI' ).getFirst(), 2 );\r
-                       range.setEnd( doc.getById( '_EnlargeB' ), 3 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element2_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>Test <b><i>[Enlarge</i> this]</b></p>\r
-                       // <p>Test [<b><i>Enlarge</i> this</b>]</p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeB' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element3 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> [Test <b> <i>  Enlarge]</i> this</b>   </p>\r
-                       // <p> [Test <b> <i>  Enlarge</i>] this</b>   </p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeP' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_EnlargeI' ), 1 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element3_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>[Test <b><i>Enlarge]</i> this</b></p>\r
-                       // <p>[Test <b><i>Enlarge</i>] this</b></p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeP' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeI' ), 1 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element4 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> [Test <b> <i>  Enlarge</i> this]</b>   </p>\r
-                       // [<p> Test <b> <i>  Enlarge</i> this</b>   </p>]\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeP' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_EnlargeB' ).getChild( 2 ), 5 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ).parentNode, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP' ).getIndex(), range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ).parentNode, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP' ).getIndex() + 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element4_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>[Test <b><i>Enlarge</i> this]</b></p>\r
-                       // [<p>Test <b><i>Enlarge</i> this</b></p>]\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeP' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeB' ).getChild( 1 ), 5 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ).parentNode, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP' ).getIndex(), range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ).parentNode, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP' ).getIndex() + 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element5 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> Test<b> <i>  [Enlarge</i> this]</b>   </p>\r
-                       // <p> Test<b> [<i>  Enlarge</i> this]</b>   </p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI1' ).getFirst(), 2 );\r
-                       range.setEnd( doc.getById( '_EnlargeB1' ).getChild( 2 ), 5 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeB1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB1' ).childNodes[ 2 ], range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 5, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element5_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>Test<b> <i>[Enlarge</i> this]</b></p>\r
-                       // <p>Test<b> [<i>Enlarge</i> this]</b></p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI1' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeB1' ).getChild( 2 ), 5 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeB1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB1' ).childNodes[ 2 ], range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 5, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element6 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> <b> <i>  [Enlarge</i>] this</b>   </p>\r
-                       // <p> <b> [<i>  Enlarge</i>] this</b>   </p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI2' ).getFirst(), 2 );\r
-                       range.setEnd( doc.getById( '_EnlargeB2' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeB2' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB2' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element6_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p><b><i>[Enlarge</i>] this</b></p>\r
-                       // <p><b>[<i>Enlarge</i>] this</b></p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI2' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeB2' ), 1 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeB2' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeB2' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element7 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> <b> <i>  [Enlarge</i> this]</b>   </p>\r
-                       // [<p> <b> <i>  Enlarge</i> this</b>   </p>]\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI2' ).getFirst(), 2 );\r
-                       range.setEnd( doc.getById( '_EnlargeB2' ), 3 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP2' ).parentNode, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP2' ).getIndex(), range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP2' ).parentNode, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP2' ).getIndex() + 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element7_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p><b><i>[Enlarge</i> this]</b></p>\r
-                       // [<p><b><i>Enlarge</i> this</b></p>]\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI2' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeB2' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP2' ).parentNode, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP2' ).getIndex(), range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP2' ).parentNode, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP2' ).getIndex() + 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element8 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p> Test <b> <i>  [Enlarge</i> this</b>   </p><p> <b> <i>  Enlarge</i> this]</b>   </p>\r
-                       // <p> Test [<b> <i>  Enlarge</i> this</b>   </p><p> <b> <i>  Enlarge</i> this</b>   </p>]\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI' ).getFirst(), 2 );\r
-                       range.setEnd( doc.getById( '_EnlargeB2' ), 3 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP2' ).parentNode, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP2' ).getIndex() + 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element8_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>Test <b><i>[Enlarge</i> this</b></p><p><b><i>Enlarge</i> this]</b></p>\r
-                       // <p>Test [<b><i>Enlarge</i> this</b></p><p><b><i>Enlarge</i> this</b></p>]\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeB2' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP2' ).parentNode, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( doc.getById( '_EnlargeP2' ).getIndex() + 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element9 : function()\r
-               {\r
-                       // <p>Test<i> [Enlarge</i>]</p>\r
-                       // <p>Test<i> [Enlarge</i>]</p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI3' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_EnlargeP3' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeI3' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP3' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element10 : function()\r
-               {\r
-                       // For IE, see the next test.\r
-                       if ( CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>Test <i> [Enlarge</i>]</p>\r
-                       // <p>Test [<i> Enlarge</i>]</p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI4' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_EnlargeP4' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP4' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP4' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element10_ie : function()\r
-               {\r
-                       // IE normalizes whitespaces when parsing the HTML, so we need a\r
-                       // specific test for it.\r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
-\r
-                       // <p>Test <i>[Enlarge</i>]</p>\r
-                       // <p>Test [<i>Enlarge</i>]</p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI4' ).getFirst(), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeP4' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP4' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP4' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element11 : function()\r
-               {\r
-                       // <p>Test <i>[Enlarge]</i></p>\r
-                       // <p>Test [<i>Enlarge</i>]</p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI5' ), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeI5' ), 1 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP5' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP5' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element12 : function()\r
-               {\r
-                       // <p>Test <i><b></b>[Enlarge]</i></p>\r
-                       // <p>Test [<i><b></b>Enlarge</i>]</p>\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeI6' ), 1 );\r
-                       range.setEnd( doc.getById( '_EnlargeI6' ), 2 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP6' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP6' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_element13 : function()\r
-               {\r
-                       // <p>Test <i><b></b>[Enlarge]</i></p>\r
-                       // <p>Test [<i><b></b>Enlarge</i>]</p>\r
-\r
-                       doc.getById( '_EnlargeP' ).setHtml( 'this <i>is some </i>sample text' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_EnlargeP' ), 0 );\r
-                       range.setEnd( doc.getById( '_EnlargeP' ).getChild( 1 ), 0 );\r
-\r
-                       range.enlarge( CKEDITOR.ENLARGE_ELEMENT );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP' ).childNodes[ 1 ], range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_list1 : function()\r
-               {\r
-                       var range = getRange( 'S1', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP7' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP7' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 3, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_list2 : function()\r
-               {\r
-                       var range = getRange( 'S2', 'E2' );\r
-                       range.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP8' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP8' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 4, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_list3 : function()\r
-               {\r
-                       var range = getRange( 'S3', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP9' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 2, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP9' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 3, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_list4 : function()\r
-               {\r
-                       var range = getRange( 'S4', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP10' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 3, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP10' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 5, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_list5 : function()\r
-               {\r
-                       var range = getRange( 'S9', null );\r
-                       var bookmark = range.createBookmark();\r
-                       range.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP15' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP15' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 4, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-                       range.moveToBookmark( bookmark );\r
-               },\r
-\r
-               test_enlarge_block1 : function()\r
-               {\r
-                       var range = getRange( 'S5', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_BLOCK_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP11' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP11'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 5, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_block2 : function()\r
-               {\r
-                       var range = getRange( 'S10', null );\r
-                       var bookmark = range.createBookmark();\r
-                       range.enlarge( CKEDITOR.ENLARGE_BLOCK_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP16' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP16'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 5, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-                       range.moveToBookmark( bookmark );\r
-               },\r
-\r
-               test_enlarge_block3 : function()\r
-               {\r
-                       var range = getRange( 'S6', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_BLOCK_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP12' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP12'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_block4 : function()\r
-               {\r
-                       var range = getRange( 'S7', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_BLOCK_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP13' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_EnlargeP13'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_enlarge_block5 : function()\r
-               {\r
-                       var range = getRange( 'S8', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_BLOCK_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP14' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               /**\r
-                * Test enlarge list when there's no nodes between\r
-                * range start and the block boundary.\r
-                */\r
-               test_enlarge_block6 : function()\r
-               {\r
-                       var range = getRange( 'S11', null );\r
-                       range.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS );\r
-\r
-                       assert.areSame( document.getElementById( '_EnlargeP17' ),\r
-                               range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-               },\r
-\r
-               test_deleteContents_W3C_1 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.6 - Example 1\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_Para' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_Para' ), 2 );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( 't text.', getInnerHtml( '_Para' ), 'HTML after deletion' );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ).firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_deleteContents_W3C_2 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.6 - Example 2\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_B' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_B' ).getNext(), 1 );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( 'this is <b id="_b">s</b>text.', getInnerHtml( '_Para' ) );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 2, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_deleteContents_W3C_3 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.6 - Example 3\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_B' ).getPrevious(), 1 );\r
-                       range.setEnd( doc.getById( '_B' ).getFirst(), 1 );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( 't<b id="_b">ome</b> text.', getInnerHtml( '_Para' ) );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_deleteContents_W3C_4 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.6 - Example 4\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_H1' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( 'playground' ).getLast().getFirst(), 1 );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( '<h1 id="_h1">f</h1><p>nother paragraph.</p>', getInnerHtml( 'playground' ) );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_deleteContents_Other : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_H1' ), 0 );\r
-                       range.setEnd( doc.getById( 'playground' ).getLast(), 1 );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( '<h1 id="_h1"></h1><p></p>', getInnerHtml( 'playground' ) );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_deleteContents_Other_2 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( 'playground' ), 0 );\r
-                       range.setEnd( doc.getById( 'playground' ), 2 );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( '<p>another paragraph.</p>', getInnerHtml( 'playground' ) );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame(document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_deleteContents_Other_3 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( doc.getById('_B') );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( '', getInnerHtml('_B') );\r
-\r
-                       assert.areSame( document.getElementById('_B'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('_B'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_deleteContents_Other_4 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( doc.getById('_Para') );\r
-\r
-                       range.deleteContents();\r
-\r
-                       assert.areSame( '', getInnerHtml('_Para') );\r
-\r
-                       assert.areSame( document.getElementById('_Para'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('_Para'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_W3C_1 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.7 - Example 1\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_Para' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_Para' ), 2 );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'his is <b id="_b">some</b>', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( 't text.', getInnerHtml( '_Para' ), 'HTML after extraction' );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ).firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_W3C_2 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.7 - Example 2\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_B' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_B' ).getNext(), 2 );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<b>ome</b> t', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( 'this is <b id="_b">s</b>ext.', getInnerHtml( '_Para' ), 'HTML after extraction' );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 2, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_W3C_3 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.6 - Example 3\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_B' ).getPrevious(), 1 );\r
-                       range.setEnd( doc.getById( '_B' ).getFirst(), 1 );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'his is <b>s</b>', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( 't<b id="_b">ome</b> text.', getInnerHtml( '_Para' ), 'HTML after extraction' );\r
-\r
-                       assert.areSame( document.getElementById( '_Para' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_W3C_4 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.6 - Example 4\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_H1' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( 'playground' ).getLast().getFirst(), 1 );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<h1>ckw3crange test</h1><p id="_para">this is <b id="_b">some</b> text.</p><p>a</p>', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( '<h1 id="_h1">f</h1><p>nother paragraph.</p>', getInnerHtml( 'playground' ) );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_Other : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_H1' ), 0 );\r
-                       range.setEnd( doc.getById( 'playground' ).getLast(), 1 );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<h1>fckw3crange test</h1><p id="_para">this is <b id="_b">some</b> text.</p><p>another paragraph.</p>', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( '<h1 id="_h1"></h1><p></p>', getInnerHtml( 'playground' ) );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_Other_2 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( 'playground' ), 0 );\r
-                       range.setEnd( doc.getById( 'playground' ), 2 );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<h1 id="_h1">fckw3crange test</h1><p id="_para">this is <b id="_b">some</b> text.</p>', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( '<p>another paragraph.</p>', getInnerHtml( 'playground' ) );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_Other_3 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById('_B') );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'some', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( '', getInnerHtml('_B'), 'HTML after extraction' );\r
-\r
-                       assert.areSame( document.getElementById('_B'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('_B'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_Other_4 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById('_Para') );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'this is <b id="_b">some</b> text.', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( '', getInnerHtml('_Para'), 'HTML after extraction' );\r
-\r
-                       assert.areSame( document.getElementById('_Para'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('_Para'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_Other_5 : function()\r
-               {\r
-                       document.getElementById( 'playground' ).innerHTML = '<p><b><i>test</i></b></p>';\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStartAfter( new CKEDITOR.dom.element( document.getElementById( 'playground' ).getElementsByTagName('i')[0] ) );\r
-                       range.setEndAfter( new CKEDITOR.dom.element( document.getElementById( 'playground' ).getElementsByTagName('b')[0] ) );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<b></b>', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( '<p><b><i>test</i></b></p>', getInnerHtml( 'playground' ), 'HTML after extraction' );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ).firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_extractContents_Other_6 : function()\r
-               {\r
-                       document.getElementById( 'playground' ).innerHTML = '<p><b><i>test</i></b></p>';\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartBefore( new CKEDITOR.dom.element( document.getElementById( 'playground' ).getElementsByTagName('b')[0] ) );\r
-                       range.setEndBefore( new CKEDITOR.dom.element( document.getElementById( 'playground' ).getElementsByTagName('i')[0] ) );\r
-\r
-                       var docFrag = range.extractContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<b></b>', getInnerHtml( tmpDiv.$ ), 'Extracted HTML' );\r
-                       assert.areSame( '<p><b><i>test</i></b></p>', getInnerHtml( 'playground' ), 'HTML after extraction' );\r
-\r
-                       assert.areSame( document.getElementById( 'playground' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ).firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 0, range.endOffset, 'range.endOffset' );\r
-                       assert.isTrue( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_cloneContents_W3C_1 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.7 - Example 1\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_Para' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_Para' ), 2 );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'his is <b>some</b>', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       // The range must also remain unchanged.\r
-                       assert.areSame( document.getElementById( '_Para' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_Para' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_cloneContents_W3C_2 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.7 - Example 2\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_B' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( '_B' ).getNext(), 2 );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<b>ome</b> t', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       // The range must also remain unchanged.\r
-                       assert.areSame( document.getElementById( '_B' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_B' ).nextSibling, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_cloneContents_W3C_3 : function()\r
-               {\r
-                       // W3C DOM Range Specs - Section 2.6 - Example 3\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.setStart( doc.getById( '_B' ).getPrevious(), 1 );\r
-                       range.setEnd( doc.getById( '_B' ).getFirst(), 1 );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'his is <b>s</b>', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       // The range must also remain unchanged.\r
-                       assert.areSame( document.getElementById( '_B' ).previousSibling, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( '_B' ).firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               // W3C DOM Range Specs - Section 2.6 - Example 4\r
-               test_cloneContents_W3C_4 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( doc.getById( '_H1' ).getFirst(), 1 );\r
-                       range.setEnd( doc.getById( 'playground' ).getLast().getFirst(), 1 );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<h1>ckw3crange test</h1><p>this is <b>some</b> text.</p><p>a</p>', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       // The range must also remain unchanged.\r
-                       assert.areSame( document.getElementById( '_H1' ).firstChild, range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 1, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ).lastChild.firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_cloneContents_Other : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( doc.getById( '_H1' ), 0 );\r
-                       range.setEnd( doc.getById( 'playground' ).getLast(), 1 );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<h1>fckw3crange test</h1><p>this is <b>some</b> text.</p><p>another paragraph.</p>', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       // The range must also remain unchanged.\r
-                       assert.areSame( document.getElementById( '_H1' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ).lastChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_cloneContents_Other_2 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( doc.getById( 'playground' ), 0 );\r
-                       range.setEnd( doc.getById( 'playground' ), 2 );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( '<h1>fckw3crange test</h1><p>this is <b>some</b> text.</p>', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       // The range must also remain unchanged.\r
-                       assert.areSame( document.getElementById( 'playground' ), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById( 'playground' ), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 2, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_cloneContents_Other_3 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById('_B') );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'some', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       assert.areSame( document.getElementById('_B'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('_B'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 1, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_cloneContents_Other_4 : function()\r
-               {\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.selectNodeContents( doc.getById('_Para') );\r
-\r
-                       var bodyHtml = document.getElementById( 'playground' ).innerHTML;\r
-\r
-                       var docFrag = range.cloneContents();\r
-\r
-                       var tmpDiv = doc.createElement( 'div' );\r
-                       docFrag.appendTo( tmpDiv );\r
-\r
-                       assert.areSame( 'this is <b>some</b> text.', getInnerHtml( tmpDiv.$ ), 'Cloned HTML' );\r
-\r
-                       // The body HTML must remain unchanged.\r
-                       assert.areSame( bodyHtml.replace( /\s+_cke_expando=["\d]+/g, '' ), document.getElementById( 'playground' ).innerHTML.replace( /\s+_cke_expando=["\d]+/g, '' ), 'The HTML must remain untouched' );\r
-\r
-                       assert.areSame( document.getElementById('_Para'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('_Para'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 3, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_createBookmark2_1 : function()\r
-               {\r
-                       doc.getById( 'playground' ).setHtml( '<p id="P">This is <b id="B">a test</b></p>' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( doc.getById( 'P' ), 0 );\r
-                       range.setEnd( doc.getById( 'B' ).getFirst(), 3 );\r
-\r
-                       var bookmark = range.createBookmark2();\r
-\r
-                       range = new CKEDITOR.dom.range( doc );\r
-                       range.moveToBookmark( bookmark );\r
-\r
-                       assert.areSame( document.getElementById('P'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 0, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('B').firstChild, range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 3, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               // This test is just like test_createBookmark2_3, but uses a "non\r
-               // normalized" bookmark.\r
-               test_createBookmark2_2 : function()\r
-               {\r
-                       var html = '<p id="P">A B <b>C </b>D E</p>';\r
-\r
-                       doc.getById( 'playground' ).setHtml( html );\r
-\r
-                       var p = doc.getById( 'P' );\r
-\r
-                       // Split the text nodes.\r
-                       p.getFirst().split( 2 );        // Right before "B"\r
-                       p.getChild( 3 ).split( 2 );     // Right before "E"\r
-\r
-                       assert.areSame( 5, p.getChildCount(), 'The number of nodes after split doesn\'t match' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       // Create a range that enbraces "E".\r
-                       range.setStartBefore( p.getChild( 4 ) );\r
-                       range.setEndAfter( p.getChild( 4 ) );\r
-\r
-                       var bookmark = range.createBookmark2();\r
-\r
-                       range = new CKEDITOR.dom.range( doc );\r
-                       range.moveToBookmark( bookmark );\r
-\r
-                       assert.areSame( document.getElementById('P'), range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 4, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('P'), range.endContainer.$, 'range.endContainer' );\r
-                       assert.areSame( 5, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_createBookmark2_3 : function()\r
-               {\r
-                       var html = '<p id="P">A B <b>C </b>D E</p>';\r
-\r
-                       doc.getById( 'playground' ).setHtml( html );\r
-\r
-                       var p = doc.getById( 'P' );\r
-\r
-                       // Split the text nodes.\r
-                       p.getFirst().split( 2 );        // Right before "B"\r
-                       p.getChild( 3 ).split( 2 );     // Right before "E"\r
-\r
-                       assert.areSame( 5, p.getChildCount(), 'The number of nodes after split doesn\'t match' );\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       // Create a range that enbraces "E".\r
-                       range.setStartBefore( p.getChild( 4 ) );\r
-                       range.setEndAfter( p.getChild( 4 ) );\r
-\r
-                       var bookmark = range.createBookmark2( true );\r
-\r
-                       // Normalize the contents.\r
-                       doc.getById( 'playground' ).setHtml( html );\r
-\r
-                       range = new CKEDITOR.dom.range( doc );\r
-                       range.moveToBookmark( bookmark );\r
-\r
-                       assert.areSame( document.getElementById('P').childNodes[2], range.startContainer.$, 'range.startContainer' );\r
-                       assert.areSame( 2, range.startOffset, 'range.startOffset' );\r
-                       assert.areSame( document.getElementById('P'), range.endContainer.$, 'range.endContainer' );\r
-\r
-                       // Note that the endOffset doesn't get normalized as it's not\r
-                       // needed. Any offset pointing over the container size is meant to\r
-                       // be at the end of it.\r
-                       assert.areSame( 5, range.endOffset, 'range.endOffset' );\r
-                       assert.isFalse( range.collapsed, 'range.collapsed' );\r
-               },\r
-\r
-               test_checkStartOfBlock1 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock2 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock3 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock4 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock5 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p> Test </p>' );\r
-                       el = el.getFirst().getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       // IE trims the space in the beginning of text nodes in our case.\r
-                       // So, let's just check it and make it pass.\r
-                       range.setStart( el, ( el.substring( 0, 1 ) == 'T' ) ? 0 : 1 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock6 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p> Test </p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( p.getFirst(), 5 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock7 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p><b>Test</b></p>' );\r
-                       el = el.getFirst().getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock8 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p>A<b>Test</b>B</p>' );\r
-                       el = el.getFirst().getFirst().getNext();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock1 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock2 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock3 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock4 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock5 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p> Test </p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( p.getFirst(), 1 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock6 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p> Test </p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( p.getFirst(), 5 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock7 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p><b>Test</b></p>' );\r
-                       el = el.getFirst().getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock8 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p>A<b>Test</b>B</p>' );\r
-                       el = el.getFirst().getFirst().getNext();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock1 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock2 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock3 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock4 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock5 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p> Test </p>' );\r
-                       el = el.getFirst().getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       // IE trims the space in the beginning of text nodes in our case.\r
-                       // So, let's just check it and make it pass.\r
-                       range.setStart( el, ( el.substring( 0, 1 ) == 'T' ) ? 0 : 1 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock6 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p> Test </p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( p.getFirst(), 5 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock7 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p><b>Test</b></p>' );\r
-                       el = el.getFirst().getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isTrue( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkStartOfBlock8 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p>A<b>Test</b>B</p>' );\r
-                       el = el.getFirst().getFirst().getNext();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isFalse( range.checkStartOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock1 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock2 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p, CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock3 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_AFTER_START );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock4 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p>Test</p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStartAt( p.getFirst(), CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock5 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p> Test </p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( p.getFirst(), 1 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock6 : function()\r
-               {\r
-                       var p = doc.getById( 'playground' );\r
-                       p.setHtml( '<p> Test </p>' );\r
-                       p = p.getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-\r
-                       range.setStart( p.getFirst(), 5 );\r
-                       range.collapse( true );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock7 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p><b>Test</b></p>' );\r
-                       el = el.getFirst().getFirst();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isTrue( range.checkEndOfBlock() );\r
-               },\r
-\r
-               test_checkEndOfBlock8 : function()\r
-               {\r
-                       var el = doc.getById( 'playground' );\r
-                       el.setHtml( '<p>A<b>Test</b>B</p>' );\r
-                       el = el.getFirst().getFirst().getNext();\r
-\r
-                       var range = new CKEDITOR.dom.range( doc );\r
-                       range.selectNodeContents( el );\r
-\r
-                       assert.isFalse( range.checkEndOfBlock() );\r
-               },\r
-\r
-               /**\r
-                *  Test trim with text range.\r
-                */\r
-               test_trim : function()\r
-               {\r
-                       var text = doc.getById( '_trim_ct').getFirst();\r
-                       var range = new CKEDITOR.dom.range();\r
-                       range.setStart(text, 2);\r
-                       range.setEnd(text, 6);\r
-                       range.trim();\r
-\r
-                       assert.isFalse( range.collapsed );\r
-                       assert.isTrue( range.startContainer.equals( doc.getById( '_trim_ct') ) );\r
-                       assert.areEqual( range.startOffset, 1 );\r
-                       assert.isTrue( range.endContainer.equals( doc.getById( '_trim_ct') ) );\r
-                       assert.areEqual( range.endOffset, 2 );\r
-               },\r
-\r
-               /**\r
-                * Trim range which collapsed at text node boundary.\r
-                */\r
-               test_trim_3790 : function()\r
-               {\r
-\r
-                       var ct = doc.getById( '_trim_ct');\r
-                       ct.setHtml( '<span id="_SPAN1">text</span>' );\r
-                       var text = doc.getById( '_trim_ct').getFirst();\r
-\r
-                       // <span id="_SPAN1">text^</span>\r
-                       var range = new CKEDITOR.dom.range();\r
-                       range.setStartAt( doc.getById( '_SPAN1' ).getFirst(), CKEDITOR.POSITION_BEFORE_END );\r
-                       range.collapse( true );\r
-                       range.trim( true );\r
-\r
-                       // <span id="_SPAN1">text^</span>\r
-                       assert.isTrue( range.collapsed );\r
-                       assert.areEqual( doc.getById( '_SPAN1').$, range.startContainer.$ );\r
-                       assert.areEqual( range.startOffset, 1 );\r
-               },\r
-\r
-               /**\r
-                * Trim range which collapsed inside text node.\r
-                */\r
-               test_trim_3790_2 : function()\r
-               {\r
-\r
-                       var ct = doc.getById( '_trim_ct');\r
-                       ct.setHtml( '<span id="_SPAN1">text</span>' );\r
-                       var text = doc.getById( '_trim_ct').getFirst();\r
-\r
-                       // <span id="_SPAN1">te^xt</span>\r
-                       var range = new CKEDITOR.dom.range();\r
-                       range.setStart( doc.getById( '_SPAN1' ).getFirst(), 2 );\r
-                       range.collapse( true );\r
-                       range.trim( true );\r
-\r
-                       // <span id="_SPAN1">te^xt</span>\r
-                       assert.isTrue( range.collapsed );\r
-                       assert.areEqual( doc.getById( '_SPAN1').$, range.startContainer.$ );\r
-                       assert.areEqual( range.startOffset, 1 );\r
-               },\r
-               /////////////\r
-\r
-               setUp : function()\r
-               {\r
-                        document.getElementById( 'playground' ).innerHTML = html1;\r
-                        document.getElementById( 'playground2' ).innerHTML = html2;\r
-               },\r
-\r
-               name : document.title\r
-       };\r
-})() );\r
-\r
-//window.onload = tests.test_trim;\r
-       //]]>\r
-       </script>\r
-</head>\r
-<body>\r
-       <div id="playground" style="visibility:hidden"><h1 id="_H1">FCKW3CRange Test</h1><p id="_Para">This is <b id="_B">some</b> text.</p><p>Another paragraph.</p></div>\r
-       <div id="playground2" style="visibility: hidden">\r
-               <h1>\r
-                       Test page for CKEditor\r
-               </h1>\r
-               <p id="_P">\r
-                       This document contains various markup features commonly used by content editors\r
-                       or "<span id="_Span" lang="fr">r&eacute;dacteurs de contenu</span>" as they are\r
-                       called in <a id="_A" href="http://en.wikipedia.org/wiki/France" title="Wikipedia article about France">\r
-                               France</a>.<br />\r
-                       It is important that a <acronym id="_Acronym" title="what you see is what you get">WYSIWYG</acronym>\r
-                       tool has features that are easily available for the editor. If not, there is a risk\r
-                       that content won't receive <strong id="_Strong">proper</strong> markup. Examples\r
-                       of commonly found content are:</p>\r
-               <p id="_Pnbsp">\r
-                       &nbsp;\r
-               </p>\r
-               <p id="_Pspaces">\r
-               </p>\r
-               <ol>\r
-                       <li>Headings</li>\r
-                       <li style="color: Red">Links (with optional title) </li>\r
-                       <li>Lists (like this one)\r
-                               <ul>\r
-                                       <li>including nested lists </li>\r
-                               </ul>\r
-                       </li>\r
-                       <li>Tables\r
-                               <ul>\r
-                                       <li>caption</li>\r
-                                       <li>headers</li>\r
-                                       <li>summary</li>\r
-                               </ul>\r
-                       </li>\r
-                       <li>Language information</li>\r
-                       <li>Acronyms and abbreviations</li>\r
-                       <li>Emphasis and strong emphasis </li>\r
-                       <li>Quotes, inline and block </li>\r
-                       <li>Images</li>\r
-               </ol>\r
-               <hr />\r
-               <h2 style="background-color: Silver">\r
-                       Test procedure\r
-               </h2>\r
-               This text has no block tag. It should be corrected when working with the enter key\r
-               set to "p" or "div" tags. The "br" configuration should not make changes instead.\r
-               <p id="_P2">\r
-                       In the test we will try to recreate this document using the editor tools. To make\r
-                       sure tables can be inserted <em id="_Em">properly</em> we re-visit banana import\r
-                       statistics from 1998.\r
-               </p>\r
-               <p id="_P3">\r
-                       This paragraph has and image at the very end of its contents.<img id="_Img" src="img.gif"\r
-                               alt="" />\r
-               </p>\r
-               This text has no block tag.<br />It should be corrected when working with the enter key\r
-               set to "p" or "div" tags. The <strong id="_StrongNoPara">"br" configuration</strong>\r
-               should not make changes instead.<br />It has three lines separated by BR tags.\r
-               <p>\r
-                       In the test we will try to recreate this document using the editor tools. To make\r
-                       sure tables can be inserted <em>properly</em> we re-visit banana import statistics\r
-                       from 1998.\r
-               </p>\r
-               <table summary="Sweden was the top importing country by far in 1998.">\r
-                       <caption>\r
-                               Top banana importers 1998 (value of banana imports in millions of US dollars per\r
-                               million people)<br />\r
-                               <br />\r
-                       </caption>\r
-                       <tr>\r
-                               <th scope="col">\r
-                                       Country</th>\r
-                               <th scope="col">\r
-                                       Millions of US dollars per million people</th>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       Sweden</td>\r
-                               <td>\r
-                                       17.12</td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       United&nbsp;Kingdom</td>\r
-                               <td>\r
-                                       8.88</td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       Germany</td>\r
-                               <td>\r
-                                       8.36</td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       Italy</td>\r
-                               <td>\r
-                                       5.96</td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       United States</td>\r
-                               <td>\r
-                                       4.78</td>\r
-                       </tr>\r
-               </table>\r
-               <p>\r
-                       For block quotes we will have a look at <a href="http://fawny.org/rhcp.html">what Joe\r
-                               Clark says about redheads</a>:</p>\r
-               <blockquote cite="http://fawny.org/rhcp.html#me">\r
-                       <p>\r
-                               "Since boyhood I&rsquo;ve always believed, at the deepest level, that redheads are\r
-                               standard-bearers of the grandest and most wondrous human beauty."</p>\r
-               </blockquote>\r
-               <p>\r
-                       <img src="img.gif" alt="" /></p>\r
-               <p>\r
-                       The above is the CKEditor logo loaded from the FCKeditor.net web site.</p>\r
-               <p><b id="_B1">Line 1<br />Line 2<br /><i id="_I1">Line 3</i></b></p>\r
-               <p id="_EnlargeP"> Test <b id="_EnlargeB"> <i id="_EnlargeI">  Enlarge</i> this</b>   </p>\r
-               <p id="_EnlargeP1"> Test<b id="_EnlargeB1"> <i id="_EnlargeI1">  Enlarge</i> this</b>   </p>\r
-               <p id="_EnlargeP2"> <b id="_EnlargeB2"> <i id="_EnlargeI2">  Enlarge</i> this</b>   </p>\r
-               <p id="_EnlargeP3">Test<i id="_EnlargeI3"> Enlarge</i></p>\r
-               <p id="_EnlargeP4">Test <i id="_EnlargeI4"> Enlarge</i></p>\r
-               <p id="_EnlargeP5">Test <i id="_EnlargeI5">Enlarge</i></p>\r
-               <p id="_EnlargeP6">Test <i id="_EnlargeI6"><b></b>Enlarge</i></p>\r
-               <p id="_EnlargeP7">Test <span id="S1"></span>List<br/ >Item Enlarge</p>\r
-               <p id="_EnlargeP8">Test <span id="S2"></span>List<span id="E2"></span> <br /><br />Item Enlarge</p>\r
-               <p id="_EnlargeP9">Test List <br /><span id="S3"></span><br />Item Enlarge</p>\r
-               <p id="_EnlargeP10">Test List <br /><br />Item<span id="S4"></span> Enlarge</p>\r
-               <p id="_EnlargeP11">Test <strong>Block<span id="S5"></span></strong><br /><br />Enlarge</p>\r
-               <div id="_EnlargeP12">Test<span id="S6"></span> Block <div>Enlarge</div></div>\r
-               <div>Test <div id="_EnlargeP13">Blo<span id="S7"></span>ck</div> Enlarge</div>\r
-               <p id="_EnlargeP14"><span id="S8"></span></p>\r
-               <p id="_EnlargeP15">Test <span id="S9"></span>List<br/ >Item Enlarge</p>\r
-               <p id="_EnlargeP16">Test <strong>Block<span id="S10"></span></strong><br /><br />Enlarge</p>\r
-               <p id="_EnlargeP17"><span><span id="S11"></span>Test Block Enlarge<span id="E11"></span></span></p>\r
-               <p id="_trim_ct">Test trim</p>\r
-       </div>\r
-       <script type="text/javascript">\r
-       //<![CDATA[\r
-\r
-html1 = document.getElementById( 'playground' ).innerHTML;\r
-html2 = document.getElementById( 'playground2' ).innerHTML;\r
-\r
-       //]]>\r
-       </script>\r
-</body>\r
-</html>\r