1 package org.apache.velocity.test.issues;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.velocity.app.event.EventCartridge;
23 import org.apache.velocity.app.event.IncludeEventHandler;
24 import org.apache.velocity.context.Context;
25 import org.apache.velocity.exception.VelocityException;
26 import org.apache.velocity.test.BaseTestCase;
27
28
29
30
31 public class Velocity758TestCase extends BaseTestCase
32 {
33 public Velocity758TestCase(String name)
34 {
35 super(name);
36 }
37
38 public void testNullArgumentForParse()
39 {
40 assertEvalEquals("", "#parse($foo)");
41 }
42
43 public void testOverrideNullArgumentForParse()
44 {
45 String nullContent = "Parse arg was null";
46 addTemplate("null.vm", nullContent);
47
48 EventCartridge ec = new EventCartridge();
49 ec.addEventHandler(new Handler());
50 ec.attachToContext(context);
51
52 assertEvalEquals(nullContent, "#parse($foo)");
53 }
54
55 public static class Handler implements IncludeEventHandler
56 {
57 public String includeEvent(String parsePath, String parentPath, String directive)
58 {
59 if (parsePath == null)
60 {
61 parsePath = "null.vm";
62 }
63 return parsePath;
64 }
65 }
66 }