--- /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.xml</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="../../_source/core/loader.js"></script>\r
+ <script type="text/javascript" src="../test.js"></script>\r
+ <script type="text/javascript">\r
+ //<![CDATA[\r
+\r
+CKEDITOR.loader.load( 'core/xml' );\r
+\r
+ //]]>\r
+ </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
+\r
+ return {\r
+ test_baseXml : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data />' );\r
+ assert.isObject( xml.baseXml );\r
+ },\r
+\r
+ test_selectSingleNode1a : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item /></data>' );\r
+ var node = xml.selectSingleNode( 'data/item' );\r
+ assert.areEqual( 'item', node.nodeName );\r
+ },\r
+\r
+ test_selectSingleNode1b : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item /></data>' );\r
+ var node = xml.selectSingleNode( 'item' );\r
+ assert.isNull( node );\r
+ },\r
+\r
+ test_selectSingleNode2a : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item><subitem/></item></data>' );\r
+ var contextNode = xml.selectSingleNode( 'data' );\r
+ var node = xml.selectSingleNode( 'item/subitem', contextNode );\r
+ assert.areEqual( 'subitem', node.nodeName );\r
+ },\r
+\r
+ test_selectSingleNode2b : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item><subitem/></item></data>' );\r
+ var contextNode = xml.selectSingleNode( 'data' );\r
+ var node = xml.selectSingleNode( 'subitem', contextNode );\r
+ assert.isNull( node );\r
+ },\r
+\r
+ test_selectSingleNode3 : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/></data>' );\r
+ var node = xml.selectSingleNode( '//item[@id="x2"]' );\r
+ assert.areEqual( 'item', node.nodeName );\r
+ assert.areEqual( 'x2', node.getAttribute( 'id' ) );\r
+ },\r
+\r
+ test_selectSingleNode4 : function()\r
+ {\r
+ // For may results, the first one must be returned.\r
+\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/></data>' );\r
+ var node = xml.selectSingleNode( '//item' );\r
+ assert.areEqual( 'item', node.nodeName );\r
+ assert.areEqual( 'x1', node.getAttribute( 'id' ) );\r
+ },\r
+\r
+ test_selectNodes1 : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item /></data>' );\r
+ var nodes = xml.selectNodes( 'data/item' );\r
+ assert.areEqual( 1, nodes.length );\r
+ assert.areEqual( 'item', nodes[0].nodeName );\r
+ },\r
+\r
+ test_selectNodes2a : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
+ var nodes = xml.selectNodes( '//item' );\r
+ assert.areEqual( 3, nodes.length );\r
+ assert.areEqual( 'x1', nodes[0].getAttribute( 'id' ) );\r
+ assert.areEqual( 'x2', nodes[1].getAttribute( 'id' ) );\r
+ assert.areEqual( 'x3', nodes[2].getAttribute( 'id' ) );\r
+ },\r
+\r
+ test_selectNodes2b : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
+ var nodes = xml.selectNodes( '//itemX' );\r
+ assert.areEqual( 0, nodes.length );\r
+ },\r
+\r
+ test_selectNodes3a : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
+ var contextNode = xml.selectSingleNode( 'data' );\r
+ var nodes = xml.selectNodes( 'item', contextNode );\r
+ assert.areEqual( 3, nodes.length );\r
+ assert.areEqual( 'x1', nodes[0].getAttribute( 'id' ) );\r
+ assert.areEqual( 'x2', nodes[1].getAttribute( 'id' ) );\r
+ assert.areEqual( 'x3', nodes[2].getAttribute( 'id' ) );\r
+ },\r
+\r
+ test_selectNodes3b : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"/><item id="x2"/><item id="x3"/></data>' );\r
+ var contextNode = xml.selectSingleNode( 'data' );\r
+ var nodes = xml.selectNodes( 'itemX', contextNode );\r
+ assert.areEqual( 0, nodes.length );\r
+ },\r
+\r
+ test_getInnerXml1 : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item/></data>' );\r
+ assert.areEqual( '<item/>', xml.getInnerXml( 'data' ) );\r
+ },\r
+\r
+ test_getInnerXml2 : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"><subitem name="sub1"/></item></data>' );\r
+ assert.areEqual( '<subitem name="sub1"/>', xml.getInnerXml( '//item' ) );\r
+ },\r
+\r
+ test_getInnerXml3 : function()\r
+ {\r
+ var xml = new CKEDITOR.xml( '<data><item id="x1"/></data>' );\r
+ assert.isNull( xml.getInnerXml( '//itemX' ) );\r
+ },\r
+\r
+ name : document.title\r
+ };\r
+})() );\r
+\r
+ //]]>\r
+ </script>\r
+</head>\r
+<body>\r
+</body>\r
+</html>\r