1 package org.apache.maven.doxia.macro;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23
24 import java.util.HashMap;
25 import java.util.Iterator;
26 import java.util.Map;
27
28 import junit.framework.TestCase;
29
30 import org.apache.maven.doxia.sink.SinkEventElement;
31 import org.apache.maven.doxia.sink.SinkEventTestingSink;
32
33
34
35
36
37
38 public class EchoMacroTest
39 extends TestCase
40 {
41
42
43
44
45 public void testExecute()
46 {
47 final Map<String,Object> macroParameters = new HashMap<String,Object>();
48 macroParameters.put( "paramName", "paramValue" );
49 macroParameters.put( "parser", "parserValue" );
50 macroParameters.put( "sourceContent", "sourceContentValue" );
51
52 SinkEventTestingSink sink = new SinkEventTestingSink();
53 MacroRequest request = new MacroRequest( macroParameters, new File( "." ) );
54
55 new EchoMacro().execute( sink, request );
56
57 Iterator<SinkEventElement> it = sink.getEventList().iterator();
58 SinkEventElement event = it.next();
59 assertEquals( "verbatim", event.getName() );
60 event = it.next();
61 assertEquals( "text", event.getName() );
62 assertEquals( "echo" + Macro.EOL, (String) event.getArgs()[0] );
63 event = it.next();
64 assertEquals( "text", event.getName() );
65 assertEquals( "paramName ---> paramValue" + Macro.EOL, (String) event.getArgs()[0] );
66 event = it.next();
67 assertEquals( "verbatim_", event.getName() );
68 assertFalse( it.hasNext() );
69 }
70
71
72
73
74 public void testLog()
75 {
76 EchoMacro macro = new EchoMacro();
77 macro.enableLogging( null );
78 assertNotNull ( macro.getLog() );
79 assertNotNull ( macro.getLog() );
80 }
81 }