JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.0
[ckeditor.git] / _source / tests / core / xml.html
diff --git a/_source/tests/core/xml.html b/_source/tests/core/xml.html
new file mode 100644 (file)
index 0000000..72d25f2
--- /dev/null
@@ -0,0 +1,150 @@
+<!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