JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.0
[ckeditor.git] / _source / tests / core / xml.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.xml</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="../../_source/core/loader.js"></script>\r
8         <script type="text/javascript" src="../test.js"></script>\r
9         <script type="text/javascript">\r
10         //<![CDATA[\r
11 \r
12 CKEDITOR.loader.load( 'core/xml' );\r
13 \r
14         //]]>\r
15         </script>\r
16         <script type="text/javascript">\r
17         //<![CDATA[\r
18 \r
19 CKEDITOR.test.addTestCase( (function()\r
20 {\r
21         // Local reference to the "assert" object.\r
22         var assert = CKEDITOR.test.assert;\r
23 \r
24         return {\r
25                 test_baseXml : function()\r
26                 {\r
27                         var xml = new CKEDITOR.xml( '<data />' );\r
28                         assert.isObject( xml.baseXml );\r
29                 },\r
30 \r
31                 test_selectSingleNode1a : function()\r
32                 {\r
33                         var xml = new CKEDITOR.xml( '<data><item /></data>' );\r
34                         var node = xml.selectSingleNode( 'data/item' );\r
35                         assert.areEqual( 'item', node.nodeName );\r
36                 },\r
37 \r
38                 test_selectSingleNode1b : function()\r
39                 {\r
40                         var xml = new CKEDITOR.xml( '<data><item /></data>' );\r
41                         var node = xml.selectSingleNode( 'item' );\r
42                         assert.isNull( node );\r
43                 },\r
44 \r
45                 test_selectSingleNode2a : function()\r
46                 {\r
47                         var xml = new CKEDITOR.xml( '<data><item><subitem/></item></data>' );\r
48                         var contextNode = xml.selectSingleNode( 'data' );\r
49                         var node = xml.selectSingleNode( 'item/subitem', contextNode );\r
50                         assert.areEqual( 'subitem', node.nodeName );\r
51                 },\r
52 \r
53                 test_selectSingleNode2b : function()\r
54                 {\r
55                         var xml = new CKEDITOR.xml( '<data><item><subitem/></item></data>' );\r
56                         var contextNode = xml.selectSingleNode( 'data' );\r
57                         var node = xml.selectSingleNode( 'subitem', contextNode );\r
58                         assert.isNull( node );\r
59                 },\r
60 \r
61                 test_selectSingleNode3 : function()\r
62                 {\r
63                         var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/></data>' );\r
64                         var node = xml.selectSingleNode( '//item[@id="x2"]' );\r
65                         assert.areEqual( 'item', node.nodeName );\r
66                         assert.areEqual( 'x2', node.getAttribute( 'id' ) );\r
67                 },\r
68 \r
69                 test_selectSingleNode4 : function()\r
70                 {\r
71                         // For may results, the first one must be returned.\r
72 \r
73                         var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/></data>' );\r
74                         var node = xml.selectSingleNode( '//item' );\r
75                         assert.areEqual( 'item', node.nodeName );\r
76                         assert.areEqual( 'x1', node.getAttribute( 'id' ) );\r
77                 },\r
78 \r
79                 test_selectNodes1 : function()\r
80                 {\r
81                         var xml = new CKEDITOR.xml( '<data><item /></data>' );\r
82                         var nodes = xml.selectNodes( 'data/item' );\r
83                         assert.areEqual( 1, nodes.length );\r
84                         assert.areEqual( 'item', nodes[0].nodeName );\r
85                 },\r
86 \r
87                 test_selectNodes2a : function()\r
88                 {\r
89                         var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
90                         var nodes = xml.selectNodes( '//item' );\r
91                         assert.areEqual( 3, nodes.length );\r
92                         assert.areEqual( 'x1', nodes[0].getAttribute( 'id' ) );\r
93                         assert.areEqual( 'x2', nodes[1].getAttribute( 'id' ) );\r
94                         assert.areEqual( 'x3', nodes[2].getAttribute( 'id' ) );\r
95                 },\r
96 \r
97                 test_selectNodes2b : function()\r
98                 {\r
99                         var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
100                         var nodes = xml.selectNodes( '//itemX' );\r
101                         assert.areEqual( 0, nodes.length );\r
102                 },\r
103 \r
104                 test_selectNodes3a : function()\r
105                 {\r
106                         var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
107                         var contextNode = xml.selectSingleNode( 'data' );\r
108                         var nodes = xml.selectNodes( 'item', contextNode );\r
109                         assert.areEqual( 3, nodes.length );\r
110                         assert.areEqual( 'x1', nodes[0].getAttribute( 'id' ) );\r
111                         assert.areEqual( 'x2', nodes[1].getAttribute( 'id' ) );\r
112                         assert.areEqual( 'x3', nodes[2].getAttribute( 'id' ) );\r
113                 },\r
114 \r
115                 test_selectNodes3b : function()\r
116                 {\r
117                         var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
118                         var contextNode = xml.selectSingleNode( 'data' );\r
119                         var nodes = xml.selectNodes( 'itemX', contextNode );\r
120                         assert.areEqual( 0, nodes.length );\r
121                 },\r
122 \r
123                 test_getInnerXml1 : function()\r
124                 {\r
125                         var xml = new CKEDITOR.xml( '<data><item/></data>' );\r
126                         assert.areEqual( '<item/>', xml.getInnerXml( 'data' ) );\r
127                 },\r
128 \r
129                 test_getInnerXml2 : function()\r
130                 {\r
131                         var xml = new CKEDITOR.xml( '<data><item id="x1"><subitem name="sub1"/></item></data>' );\r
132                         assert.areEqual( '<subitem name="sub1"/>', xml.getInnerXml( '//item' ) );\r
133                 },\r
134 \r
135                 test_getInnerXml3 : function()\r
136                 {\r
137                         var xml = new CKEDITOR.xml( '<data><item id="x1"/></data>' );\r
138                         assert.isNull( xml.getInnerXml( '//itemX' ) );\r
139                 },\r
140 \r
141                 name : document.title\r
142         };\r
143 })() );\r
144 \r
145         //]]>\r
146         </script>\r
147 </head>\r
148 <body>\r
149 </body>\r
150 </html>\r