1 61 62 63 64 package org.jaxen.pattern; 65 66 import junit.framework.Test; 67 import junit.framework.TestCase; 68 import junit.framework.TestSuite; 69 import junit.textui.TestRunner; 70 71 import org.jaxen.JaxenException; 72 import org.jaxen.saxpath.SAXPathException; 73 import org.jaxen.saxpath.helpers.XPathReaderFactory; 74 75 80 public class PriorityTest extends TestCase 81 { 82 public PriorityTest(String name) 83 { 84 super( name ); 85 } 86 87 public static void main(String [] args) 88 { 89 TestRunner.run( suite() ); 90 } 91 92 public static Test suite() 93 { 94 return new TestSuite( PriorityTest.class ); 95 } 96 97 public void setUp() 98 { 99 System.setProperty( XPathReaderFactory.DRIVER_PROPERTY, 100 "" ); 101 } 102 103 public void testDocumentNode() throws Exception 104 { 105 testPriority( "/", -0.5, Pattern.DOCUMENT_NODE ); 106 } 107 108 public void testNameNode() throws Exception 109 { 110 testPriority( "foo", 0, Pattern.ELEMENT_NODE ); 111 } 112 113 public void testQNameNode() throws Exception 114 { 115 testPriority( "foo:bar", 0, Pattern.ELEMENT_NODE ); 116 } 117 118 public void testFilter() throws Exception 119 { 120 testPriority( "foo[@id='123']", 0.5, Pattern.ELEMENT_NODE ); 121 } 122 123 public void testURI() throws Exception 124 { 125 testPriority( "foo:*", -0.25, Pattern.ELEMENT_NODE ); 126 } 127 128 public void testNodeType() throws Exception 129 { 130 testPriority( "text()", -0.5, Pattern.TEXT_NODE ); 131 } 132 133 public void testAttribute() throws Exception 134 { 135 testPriority( "@*", -0.5, Pattern.ATTRIBUTE_NODE ); 136 } 137 138 public void testAnyNode() throws Exception 139 { 140 testPriority( "*", -0.5, Pattern.ELEMENT_NODE ); 141 } 142 143 protected void testPriority(String expr, double priority, short nodeType) 144 throws JaxenException, SAXPathException 145 { 146 147 Pattern pattern = PatternParser.parse( expr ); 148 double d = pattern.getPriority(); 149 short nt = pattern.getMatchType(); 150 151 assertEquals( "expr: " + expr, 152 new Double ( priority ), 153 new Double ( d ) ); 154 155 assertEquals( "nodeType: " + expr, 156 nodeType, 157 nt ); 158 } 159 } 160 | Popular Tags |