KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jaxen > saxpath > helpers > XPathReaderFactoryTest


1 /*
2  * $Header: /home/projects/jaxen/scm/jaxen/src/java/test/org/jaxen/saxpath/helpers/XPathReaderFactoryTest.java,v 1.4 2005/01/30 03:15:58 elharo Exp $
3  * $Revision: 1.4 $
4  * $Date: 2005/01/30 03:15:58 $
5  *
6  * ====================================================================
7  *
8  * Copyright (C) 2000-2002 bob mcwhirter & James Strachan.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  *
15  * 1. Redistributions of source code must retain the above copyright
16  * notice, this list of conditions, and the following disclaimer.
17  *
18  * 2. Redistributions in binary form must reproduce the above copyright
19  * notice, this list of conditions, and the disclaimer that follows
20  * these conditions in the documentation and/or other materials
21  * provided with the distribution.
22  *
23  * 3. The name "Jaxen" must not be used to endorse or promote products
24  * derived from this software without prior written permission. For
25  * written permission, please contact license@jaxen.org.
26  *
27  * 4. Products derived from this software may not be called "Jaxen", nor
28  * may "Jaxen" appear in their name, without prior written permission
29  * from the Jaxen Project Management (pm@jaxen.org).
30  *
31  * In addition, we request (but do not require) that you include in the
32  * end-user documentation provided with the redistribution and/or in the
33  * software itself an acknowledgement equivalent to the following:
34  * "This product includes software developed by the
35  * Jaxen Project (http://www.jaxen.org/)."
36  * Alternatively, the acknowledgment may be graphical using the logos
37  * available at http://www.jaxen.org/
38  *
39  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
40  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
41  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
42  * DISCLAIMED. IN NO EVENT SHALL THE Jaxen AUTHORS OR THE PROJECT
43  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
45  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
46  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
47  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
48  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
49  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50  * SUCH DAMAGE.
51  *
52  * ====================================================================
53  * This software consists of voluntary contributions made by many
54  * individuals on behalf of the Jaxen Project and was originally
55  * created by bob mcwhirter <bob@werken.com> and
56  * James Strachan <jstrachan@apache.org>. For more information on the
57  * Jaxen Project, please see <http://www.jaxen.org/>.
58  *
59  * $Id: XPathReaderFactoryTest.java,v 1.4 2005/01/30 03:15:58 elharo Exp $
60  */

61
62
63
64 package org.jaxen.saxpath.helpers;
65
66 import junit.framework.TestCase;
67
68 import org.jaxen.saxpath.XPathReader;
69
70 public class XPathReaderFactoryTest extends TestCase
71 {
72     public XPathReaderFactoryTest(String JavaDoc name)
73     {
74         super( name );
75     }
76
77     public void setUp()
78     {
79     }
80
81     public void tearDown()
82     {
83     }
84
85     public void testDefault()
86     {
87         System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
88                             "" );
89         try
90         {
91             XPathReader reader = XPathReaderFactory.createReader();
92
93             assertNotNull( reader );
94         }
95         catch (org.jaxen.saxpath.SAXPathException e)
96         {
97             fail( e.getMessage() );
98         }
99     }
100
101     public void testValidByProperty()
102     {
103         System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
104                             "org.jaxen.saxpath.helpers.MockXPathReader" );
105
106         try
107         {
108             XPathReader reader = XPathReaderFactory.createReader();
109
110             assertNotNull( reader );
111
112             assertSame( MockXPathReader.class,
113                         reader.getClass() );
114         }
115         catch (org.jaxen.saxpath.SAXPathException e)
116         {
117             fail( e.getMessage() );
118         }
119         finally
120         {
121             System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
122                                 "" );
123         }
124     }
125
126     public void testInvalidByProperty()
127     {
128         System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
129                             "java.lang.String" );
130
131         try
132         {
133             XPathReaderFactory.createReader();
134
135             fail( "Should have thrown SAXPathException" );
136         }
137         catch (org.jaxen.saxpath.SAXPathException e)
138         {
139             // expected and correct
140
}
141         finally
142         {
143             System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
144                                 "" );
145         }
146     }
147
148     public void testNonExistantByProperty()
149     {
150         System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
151                             "i.am.a.class.that.does.not.Exist" );
152
153         try
154         {
155             XPathReaderFactory.createReader();
156
157             fail( "Should have thrown SAXPathException" );
158         }
159         catch (org.jaxen.saxpath.SAXPathException e)
160         {
161             // expected and correct
162
}
163         finally
164         {
165             System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
166                                 "" );
167         }
168     }
169
170     public void testValidExplicit()
171     {
172         try
173         {
174             XPathReader reader = XPathReaderFactory.createReader( "org.jaxen.saxpath.helpers.MockXPathReader" );
175
176             assertNotNull( reader );
177
178             assertSame( MockXPathReader.class,
179                         reader.getClass() );
180         }
181         catch (org.jaxen.saxpath.SAXPathException e)
182         {
183             fail( e.getMessage() );
184         }
185     }
186
187     public void testInvalidExplicit()
188     {
189         try
190         {
191             XPathReaderFactory.createReader( "java.lang.String" );
192
193             fail( "Should have thrown SAXPathException" );
194         }
195         catch (org.jaxen.saxpath.SAXPathException e)
196         {
197             // expected and correct
198
}
199     }
200
201     public void testNonExistantExplicit()
202     {
203         try
204         {
205             XPathReaderFactory.createReader( "i.am.a.class.that.does.not.Exist" );
206
207             fail( "Should have thrown SAXPathException" );
208         }
209         catch (org.jaxen.saxpath.SAXPathException e)
210         {
211             // expected and correct
212
}
213     }
214 }
215
Popular Tags