1 <html> 2 <head> 3 <link rel="stylesheet" href="../js/resources/js-test-style.css"> 4 <script src="../js/resources/js-test-pre.js"></script> 5 </head> 6 <body> 7 <p id="sometext"> 8 <STRONG>strong</STRONG><strong>strong</strong><FOO>FOO</FOO><foo>foo</foo> 9 </p> 10 <div id="console"></div> 11 <script type="text/javascript"> 12 13 function testHTML(query, expectedCount) 14 { 15 res = document.evaluate(query, document, function() { return "http://www.w3.org/1999/xhtml" }, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); 16 debug("HTML " + query); 17 shouldBe('res.snapshotLength', expectedCount); 18 } 19 20 function testXML(query, expectedCount) 21 { 22 res = doc.evaluate(query, doc, function() { return "http://www.w3.org/1999/xhtml" }, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); 23 debug("XML " + query); 24 shouldBe('res.snapshotLength', expectedCount); 25 } 26 27 testHTML('//*[@id="sometext"]//strong', '2'); 28 testHTML('//*[@id="sometext"]//Strong', '2'); 29 testHTML('//*[@id="Sometext"]//strong', '0'); 30 testHTML('//*[@id="sometext"]//foo', '2'); 31 testHTML('//*[@id="sometext"]//FOO', '2'); 32 33 var doc = (new DOMParser).parseFromString('<p id="sometext" xmlns="http://www.w3.org/1999/xhtml"><STRONG>strong</STRONG><strong>strong</strong><FOO xmlns="">FOO</FOO><foo xmlns="">foo</foo></p>', 'application/xhtml+xml'); 34 35 testXML('//*[@id="sometext"]//x:strong', '1'); 36 testXML('//*[@id="sometext"]//x:Strong', '0'); 37 testXML('//*[@id="Sometext"]//x:strong', '0'); 38 testXML('//*[@id="sometext"]//foo', '1'); 39 testXML('//*[@id="sometext"]//FOO', '1'); 40 41 var successfullyParsed = true; 42 43 </script> 44 <script src="../js/resources/js-test-post.js"></script> 45 </body> 46 </html> 47