--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+ <title>CKEDITOR.dom.document</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
+CKEDITOR.test.addTestCase( (function()\r
+{\r
+ // Local reference to the "assert" object.\r
+ var assert = CKEDITOR.test.assert,\r
+ arrayAssert = YAHOO.util.ArrayAssert;\r
+\r
+ return {\r
+ test_$ : function()\r
+ {\r
+ var doc = new CKEDITOR.dom.document( document );\r
+ assert.areSame( document, doc.$ );\r
+ },\r
+\r
+ test_appendStyleSheet : function()\r
+ {\r
+ var cssUrl = CKEDITOR.basePath + '_tests/';\r
+ cssUrl += '_assets/sample.css';\r
+\r
+ var doc = new CKEDITOR.dom.document( document );\r
+ doc.appendStyleSheet( cssUrl );\r
+\r
+ var links = document.getElementsByTagName( 'link' );\r
+\r
+ for ( var i = 0 ; i < links.length ; i++ )\r
+ {\r
+ if ( links[i].href == cssUrl )\r
+ return ;\r
+ }\r
+\r
+ assert.fail( 'The link element was not found' );\r
+ },\r
+\r
+ test_equals1 : function()\r
+ {\r
+ // Actually checks the real need for equals().\r
+ var doc1 = new CKEDITOR.dom.document( document );\r
+ assert.isFalse( doc1 == document );\r
+ },\r
+\r
+ test_equals2 : function()\r
+ {\r
+ // Actually checks the real need for equals().\r
+ var doc1 = new CKEDITOR.dom.document( document );\r
+ var doc2 = new CKEDITOR.dom.document( document );\r
+ assert.isFalse( doc1 == doc2, 'doc1 == doc2' );\r
+ },\r
+\r
+ test_equals3 : function()\r
+ {\r
+ var doc1 = new CKEDITOR.dom.document( document );\r
+ var doc2 = new CKEDITOR.dom.document( document );\r
+ assert.isTrue( doc1.equals( doc2 ), 'doc1.equals( doc2 )' );\r
+ assert.isTrue( doc2.equals( doc1 ), 'doc2.equals( doc1 )' );\r
+ },\r
+\r
+ test_getById1 : function()\r
+ {\r
+ var doc = new CKEDITOR.dom.document( document );\r
+ var element = doc.getById( 'test1' );\r
+ assert.areSame( document.getElementById( 'test1' ), element.$ );\r
+ },\r
+\r
+ test_getById2 : function()\r
+ {\r
+ var doc = new CKEDITOR.dom.document( document );\r
+ var element = doc.getById( 'test_invalid' );\r
+ assert.isNull( element );\r
+ },\r
+\r
+ test_getHead : function()\r
+ {\r
+ var doc = new CKEDITOR.dom.document( document );\r
+ assert.areSame( document.getElementsByTagName( 'head' )[0], doc.getHead().$ );\r
+ },\r
+\r
+ test_getBody : function()\r
+ {\r
+ var doc = new CKEDITOR.dom.document( document );\r
+ assert.areSame( document.body, doc.getBody().$, '1st call failed' );\r
+ assert.areSame( document.body, doc.getBody().$, '2nd call failed' );\r
+ },\r
+ test_createText : function()\r
+ {\r
+ var doc = new CKEDITOR.dom.document( document ), contentText = 'text content';\r
+ var textNode = doc.createText( contentText );\r
+ assert.areSame( contentText, textNode.getText(),\r
+ 'Create text node content doesn\'t match.' );\r
+ },\r
+\r
+ test_getByAddress1 : function()\r
+ {\r
+ var doc = new CKEDITOR.dom.document( document );\r
+ var node = doc.getByAddress( [ 1, 1, 0, 1, 0, 0 ] );\r
+ assert.areSame( 'target', node.getText(),\r
+ 'Addressing target doesn\'t match.' );\r
+ },\r
+\r
+ test_getElementsByTag : function()\r
+ {\r
+ var nodeList = new CKEDITOR.dom.document( document ).getElementsByTag( 'span' ),\r
+ results = [];\r
+ for( var i = 0; i < nodeList.count(); i++ ){\r
+ results.push( nodeList.getItem( i ).$ );\r
+ }\r
+ arrayAssert.itemsAreEqual( results, document.getElementsByTagName( 'span' ) );\r
+ },\r
+\r
+ name : document.title\r
+ };\r
+})() );\r
+\r
+ //]]>\r
+ </script>\r
+</head>\r
+<body><div id="test1"></div><div><p>text<span><b id="addressTarget1">target</b>text</span>text</p></div><span ><b id="addressTarget2">target</b></span></body>\r
+</html>\r