JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.0
[ckeditor.git] / _tests / core / dom / document.html
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
3 <head>\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
9         //<![CDATA[\r
10 \r
11 CKEDITOR.test.addTestCase( (function()\r
12 {\r
13         // Local reference to the "assert" object.\r
14         var assert = CKEDITOR.test.assert,\r
15                 arrayAssert = YAHOO.util.ArrayAssert;\r
16 \r
17         return {\r
18                 test_$ : function()\r
19                 {\r
20                         var doc = new CKEDITOR.dom.document( document );\r
21                         assert.areSame( document, doc.$ );\r
22                 },\r
23 \r
24                 test_appendStyleSheet : function()\r
25                 {\r
26                         var cssUrl = CKEDITOR.basePath + '_tests/';\r
27                         cssUrl += '_assets/sample.css';\r
28 \r
29                         var doc = new CKEDITOR.dom.document( document );\r
30                         doc.appendStyleSheet( cssUrl );\r
31 \r
32                         var links = document.getElementsByTagName( 'link' );\r
33 \r
34                         for ( var i = 0 ; i < links.length ; i++ )\r
35                         {\r
36                                 if ( links[i].href == cssUrl )\r
37                                         return ;\r
38                         }\r
39 \r
40                         assert.fail( 'The link element was not found' );\r
41                 },\r
42 \r
43                 test_equals1 : function()\r
44                 {\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
48                 },\r
49 \r
50                 test_equals2 : function()\r
51                 {\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
56                 },\r
57 \r
58                 test_equals3 : function()\r
59                 {\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
64                 },\r
65 \r
66                 test_getById1 : function()\r
67                 {\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
71                 },\r
72 \r
73                 test_getById2 : function()\r
74                 {\r
75                         var doc = new CKEDITOR.dom.document( document );\r
76                         var element = doc.getById( 'test_invalid' );\r
77                         assert.isNull( element );\r
78                 },\r
79 \r
80                 test_getHead : function()\r
81                 {\r
82                         var doc = new CKEDITOR.dom.document( document );\r
83                         assert.areSame( document.getElementsByTagName( 'head' )[0], doc.getHead().$ );\r
84                 },\r
85 \r
86                 test_getBody : function()\r
87                 {\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
91                 },\r
92                 test_createText : function()\r
93                 {\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
98                 },\r
99 \r
100                 test_getByAddress1 : function()\r
101                 {\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
106                 },\r
107 \r
108                 test_getElementsByTag : function()\r
109                 {\r
110                         var nodeList = new CKEDITOR.dom.document( document ).getElementsByTag( 'span' ),\r
111                                 results = [];\r
112                         for( var i = 0; i < nodeList.count(); i++ ){\r
113                                 results.push( nodeList.getItem( i ).$ );\r
114                         }\r
115                         arrayAssert.itemsAreEqual( results, document.getElementsByTagName( 'span' ) );\r
116                 },\r
117 \r
118                 name : document.title\r
119         };\r
120 })() );\r
121 \r
122         //]]>\r
123         </script>\r
124 </head>\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
126 </html>\r