1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
\r
2 <html xmlns="http://www.w3.org/1999/xhtml">
\r
4 <title>CKEDITOR.dom.document</title>
\r
5 <link rel="stylesheet" type="text/css" href="../../test.css" />
\r
6 <script type="text/javascript" src="../../../ckeditor.js"></script>
\r
7 <script type="text/javascript" src="../../test.js"></script>
\r
8 <script type="text/javascript">
\r
11 CKEDITOR.test.addTestCase( (function()
\r
13 // Local reference to the "assert" object.
\r
14 var assert = CKEDITOR.test.assert,
\r
15 arrayAssert = YAHOO.util.ArrayAssert;
\r
20 var doc = new CKEDITOR.dom.document( document );
\r
21 assert.areSame( document, doc.$ );
\r
24 test_appendStyleSheet : function()
\r
26 var cssUrl = CKEDITOR.basePath + '_tests/';
\r
27 cssUrl += '_assets/sample.css';
\r
29 var doc = new CKEDITOR.dom.document( document );
\r
30 doc.appendStyleSheet( cssUrl );
\r
32 var links = document.getElementsByTagName( 'link' );
\r
34 for ( var i = 0 ; i < links.length ; i++ )
\r
36 if ( links[i].href == cssUrl )
\r
40 assert.fail( 'The link element was not found' );
\r
43 test_equals1 : function()
\r
45 // Actually checks the real need for equals().
\r
46 var doc1 = new CKEDITOR.dom.document( document );
\r
47 assert.isFalse( doc1 == document );
\r
50 test_equals2 : function()
\r
52 // Actually checks the real need for equals().
\r
53 var doc1 = new CKEDITOR.dom.document( document );
\r
54 var doc2 = new CKEDITOR.dom.document( document );
\r
55 assert.isFalse( doc1 == doc2, 'doc1 == doc2' );
\r
58 test_equals3 : function()
\r
60 var doc1 = new CKEDITOR.dom.document( document );
\r
61 var doc2 = new CKEDITOR.dom.document( document );
\r
62 assert.isTrue( doc1.equals( doc2 ), 'doc1.equals( doc2 )' );
\r
63 assert.isTrue( doc2.equals( doc1 ), 'doc2.equals( doc1 )' );
\r
66 test_getById1 : function()
\r
68 var doc = new CKEDITOR.dom.document( document );
\r
69 var element = doc.getById( 'test1' );
\r
70 assert.areSame( document.getElementById( 'test1' ), element.$ );
\r
73 test_getById2 : function()
\r
75 var doc = new CKEDITOR.dom.document( document );
\r
76 var element = doc.getById( 'test_invalid' );
\r
77 assert.isNull( element );
\r
80 test_getHead : function()
\r
82 var doc = new CKEDITOR.dom.document( document );
\r
83 assert.areSame( document.getElementsByTagName( 'head' )[0], doc.getHead().$ );
\r
86 test_getBody : function()
\r
88 var doc = new CKEDITOR.dom.document( document );
\r
89 assert.areSame( document.body, doc.getBody().$, '1st call failed' );
\r
90 assert.areSame( document.body, doc.getBody().$, '2nd call failed' );
\r
92 test_createText : function()
\r
94 var doc = new CKEDITOR.dom.document( document ), contentText = 'text content';
\r
95 var textNode = doc.createText( contentText );
\r
96 assert.areSame( contentText, textNode.getText(),
\r
97 'Create text node content doesn\'t match.' );
\r
100 test_getByAddress1 : function()
\r
102 var doc = new CKEDITOR.dom.document( document );
\r
103 var node = doc.getByAddress( [ 1, 1, 0, 1, 0, 0 ] );
\r
104 assert.areSame( 'target', node.getText(),
\r
105 'Addressing target doesn\'t match.' );
\r
108 test_getElementsByTag : function()
\r
110 var nodeList = new CKEDITOR.dom.document( document ).getElementsByTag( 'span' ),
\r
112 for( var i = 0; i < nodeList.count(); i++ ){
\r
113 results.push( nodeList.getItem( i ).$ );
\r
115 arrayAssert.itemsAreEqual( results, document.getElementsByTagName( 'span' ) );
\r
118 name : document.title
\r
125 <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