1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformers.xml;
12
13 import org.mule.tck.AbstractMuleTestCase;
14 import org.mule.umo.transformer.TransformerException;
15
16 import com.thoughtworks.xstream.XStream;
17 import com.thoughtworks.xstream.io.xml.DomDriver;
18
19
20
21
22 public class XStreamTransformerConfigurationTestCase extends AbstractMuleTestCase
23 {
24 public static volatile boolean MyDriverDidInitialize;
25
26 protected static class MyDOMDriver extends DomDriver
27 {
28 public MyDOMDriver()
29 {
30 super();
31 XStreamTransformerConfigurationTestCase.MyDriverDidInitialize = true;
32 }
33 }
34
35
36 protected void doSetUp() throws Exception
37 {
38 super.doSetUp();
39 MyDriverDidInitialize = true;
40 }
41
42
43 protected void doTearDown() throws Exception
44 {
45 MyDriverDidInitialize = false;
46 super.doTearDown();
47 }
48
49 public void testDefaultDriver() throws Exception
50 {
51 XmlToObject transformer = new XmlToObject();
52
53 assertEquals(XStreamFactory.XSTREAM_XPP_DRIVER, transformer.getDriverClassName());
54 }
55
56 public void testCustomDriver() throws Exception
57 {
58 XmlToObject transformer = new XmlToObject();
59
60 transformer.setDriverClassName(MyDOMDriver.class.getName());
61 XStream xs = transformer.getXStream();
62
63 assertNotNull(xs);
64 assertSame(xs, transformer.getXStream());
65 assertTrue(MyDriverDidInitialize);
66 }
67
68 public void testBadDriver() throws Exception
69 {
70 XmlToObject transformer = new XmlToObject();
71
72 transformer.setDriverClassName("DudeWhereIsMyDriver");
73
74 try
75 {
76 assertNotNull(transformer.getXStream());
77 fail();
78 }
79 catch (TransformerException tex)
80 {
81
82 assertTrue(tex.getCause() instanceof ClassNotFoundException);
83 }
84 }
85
86 }