1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jxpath.ri.model.beans;
18
19 import java.util.HashMap;
20 import java.util.Map;
21
22 import junit.framework.TestCase;
23
24 import org.apache.commons.jxpath.AbstractFactory;
25 import org.apache.commons.jxpath.JXPathAbstractFactoryException;
26 import org.apache.commons.jxpath.JXPathContext;
27 import org.apache.commons.jxpath.JXPathException;
28 import org.apache.commons.jxpath.Pointer;
29
30
31
32
33
34
35
36 public class BadlyImplementedFactoryTest extends TestCase {
37
38 private JXPathContext context;
39
40 public void setUp() {
41 context = JXPathContext.newContext(new HashMap());
42 context.setFactory(new AbstractFactory() {
43 public boolean createObject(JXPathContext context, Pointer pointer, Object parent, String name, int index) {
44 ((Map) parent).put(name, null);
45 return true;
46 }
47 });
48 }
49
50 public void testBadFactoryImplementation() {
51 try {
52 context.createPath("foo/bar");
53 fail("should fail with JXPathException caused by JXPathAbstractFactoryException");
54 } catch (JXPathException e) {
55 assertTrue(e.getCause() instanceof JXPathAbstractFactoryException);
56 }
57 }
58
59 }