1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformers.xml;
12
13 import org.mule.api.transformer.Transformer;
14 import org.mule.module.xml.transformer.XsltTransformer;
15 import org.mule.module.xml.util.XMLTestUtils;
16 import org.mule.transformer.types.DataTypeFactory;
17 import org.mule.util.IOUtils;
18
19 import java.util.Iterator;
20 import java.util.List;
21
22 public class InlineXsltTransformerTestCase extends AbstractXmlTransformerTestCase
23 {
24
25 private String srcData;
26 private String resultData;
27
28 @Override
29 protected void doSetUp() throws Exception
30 {
31 srcData = IOUtils.getResourceAsString("simple.xml", getClass());
32 resultData = IOUtils.getResourceAsString("simple-out.xml", getClass());
33 }
34
35 @Override
36 public Transformer getTransformer() throws Exception
37 {
38 XsltTransformer transformer = new XsltTransformer();
39 transformer.setXslt("<?xml version='1.0'?>\n"
40 + "<xsl:stylesheet version='2.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>\n"
41 + "<xsl:output method='xml'/>\n" + "<xsl:template match='/'>\n"
42 + " <some-xml>\n" + " <xsl:copy-of select='.'/>\n" + " </some-xml>\n"
43 + "</xsl:template>\n" + "</xsl:stylesheet>");
44 transformer.setReturnDataType(DataTypeFactory.STRING);
45 transformer.setMuleContext(muleContext);
46 transformer.initialise();
47 return transformer;
48 }
49
50 @Override
51 public Transformer getRoundTripTransformer() throws Exception
52 {
53 return null;
54 }
55
56 @Override
57 public void testRoundtripTransform() throws Exception
58 {
59
60 }
61
62 @Override
63 public Object getTestData()
64 {
65 return srcData;
66 }
67
68 @Override
69 public Object getResultData()
70 {
71 return resultData;
72 }
73
74 public void testAllXmlMessageTypes() throws Exception
75 {
76 List list = XMLTestUtils.getXmlMessageVariants("simple.xml");
77 Iterator it = list.iterator();
78
79 Object expectedResult = getResultData();
80 assertNotNull(expectedResult);
81
82 Object msg, result;
83 while (it.hasNext())
84 {
85 msg = it.next();
86
87 if (!(msg instanceof javax.xml.stream.XMLStreamReader))
88 {
89 result = getTransformer().transform(msg);
90 assertNotNull(result);
91 assertTrue("Test failed for message type: " + msg.getClass(), compareResults(expectedResult, result));
92 }
93 }
94 }
95 }