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.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
12 CKEDITOR.loader.load( 'core/xml' );
\r
16 <script type="text/javascript">
\r
19 CKEDITOR.test.addTestCase( (function()
\r
21 // Local reference to the "assert" object.
\r
22 var assert = CKEDITOR.test.assert;
\r
25 test_baseXml : function()
\r
27 var xml = new CKEDITOR.xml( '<data />' );
\r
28 assert.isObject( xml.baseXml );
\r
31 test_selectSingleNode1a : function()
\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
38 test_selectSingleNode1b : function()
\r
40 var xml = new CKEDITOR.xml( '<data><item /></data>' );
\r
41 var node = xml.selectSingleNode( 'item' );
\r
42 assert.isNull( node );
\r
45 test_selectSingleNode2a : function()
\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
53 test_selectSingleNode2b : function()
\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
61 test_selectSingleNode3 : function()
\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
69 test_selectSingleNode4 : function()
\r
71 // For may results, the first one must be returned.
\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
79 test_selectNodes1 : function()
\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
87 test_selectNodes2a : function()
\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
97 test_selectNodes2b : function()
\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
104 test_selectNodes3a : function()
\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
115 test_selectNodes3b : function()
\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
123 test_getInnerXml1 : function()
\r
125 var xml = new CKEDITOR.xml( '<data><item/></data>' );
\r
126 assert.areEqual( '<item/>', xml.getInnerXml( 'data' ) );
\r
129 test_getInnerXml2 : function()
\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
135 test_getInnerXml3 : function()
\r
137 var xml = new CKEDITOR.xml( '<data><item id="x1"/></data>' );
\r
138 assert.isNull( xml.getInnerXml( '//itemX' ) );
\r
141 name : document.title
\r