1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.jsieve.util;
20
21 import java.io.ByteArrayInputStream;
22 import java.io.StringWriter;
23
24 import org.apache.jsieve.ConfigurationManager;
25 import org.apache.jsieve.parser.generated.Node;
26
27 import junit.framework.TestCase;
28
29 public class XmlGenerationTest extends TestCase {
30
31
32 protected void setUp() throws Exception {
33 super.setUp();
34 }
35
36
37 protected void tearDown() throws Exception {
38 super.tearDown();
39 }
40
41 public void testShouldGenerateXmlFromSimpleScript() throws Exception {
42
43 final String script = "if address :all :is \"from\" \"user@domain\" {stop;}";
44 final Node node = new ConfigurationManager().build().parse(new ByteArrayInputStream(script.getBytes()));
45 final StringWriter monitor = new StringWriter();
46
47
48 OutputUtils.toXml(node, monitor);
49
50
51 assertEquals("<sieve:control xmlns:sieve='urn:ietf:params:xml:ns:sieve' sieve:name='if'>" +
52 "<sieve:test sieve:name='address'>" +
53 "<sieve:tag>all</sieve:tag>" +
54 "<sieve:tag>is</sieve:tag>" +
55 "<sieve:str>from</sieve:str>" +
56 "<sieve:str>user@domain</sieve:str>" +
57 "</sieve:test>" +
58 "<sieve:control sieve:name='stop'/>" +
59 "</sieve:control>", monitor.toString());
60 }
61 }