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 org.apache.maven.doxia.parser.XhtmlBaseParser;
29 import org.apache.maven.doxia.sink.impl.SinkEventElement;
30 import org.apache.maven.doxia.sink.impl.SinkEventTestingSink;
31
32 import org.junit.Test;
33
34 import static org.junit.Assert.*;
35
36
37
38
39
40
41 public class EchoMacroTest
42 {
43
44
45
46 @Test
47 public void testExecute()
48 {
49 final Map<String,Object> macroParameters = new HashMap<>();
50 macroParameters.put( "paramName", "paramValue" );
51
52 XhtmlBaseParser parser = new XhtmlBaseParser();
53
54 SinkEventTestingSink sink = new SinkEventTestingSink();
55 MacroRequest request = new MacroRequest( null, parser, macroParameters, new File( "." ) );
56
57 new EchoMacro().execute( sink, request );
58
59 Iterator<SinkEventElement> it = sink.getEventList().iterator();
60 SinkEventElement event = it.next();
61 assertEquals( "verbatim", event.getName() );
62 event = it.next();
63 assertEquals( "text", event.getName() );
64 assertEquals( "echo" + Macro.EOL, event.getArgs()[0] );
65 event = it.next();
66 assertEquals( "text", event.getName() );
67 assertEquals( "paramName ---> paramValue" + Macro.EOL, event.getArgs()[0] );
68 event = it.next();
69 assertEquals( "verbatim_", event.getName() );
70 assertFalse( it.hasNext() );
71 }
72 }