1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j;
18
19 import junit.framework.TestCase;
20
21
22
23
24
25 public class TestLogXF extends TestCase {
26
27
28
29 private final Logger logger = Logger.getLogger(
30 "org.apache.log4j.formatter.TestLogXF");
31
32
33
34
35
36
37 public TestLogXF(String testName) {
38 super(testName);
39 }
40
41
42
43
44
45 public void tearDown() {
46 LogManager.resetConfiguration();
47 }
48
49 private static class BadStringifier {
50 private BadStringifier() {}
51 public static BadStringifier INSTANCE = new BadStringifier();
52 public String toString() {
53 throw new NullPointerException();
54 }
55 }
56
57
58
59
60
61 public void testEnteringNullNull() {
62 LogCapture capture = new LogCapture(Level.DEBUG);
63 logger.setLevel(Level.DEBUG);
64 LogXF.entering(logger, null, null);
65 assertEquals("null.null ENTRY", capture.getMessage());
66 }
67
68
69
70
71
72 public void testEnteringNullNullNull() {
73 LogCapture capture = new LogCapture(Level.DEBUG);
74 logger.setLevel(Level.DEBUG);
75 LogXF.entering(logger, null, null, (String) null);
76 assertEquals("null.null ENTRY null", capture.getMessage());
77 }
78
79
80
81
82 public void testEnteringNullNullNullArray() {
83 LogCapture capture = new LogCapture(Level.DEBUG);
84 logger.setLevel(Level.DEBUG);
85 LogXF.entering(logger, null, null, (Object[]) null);
86 assertEquals("null.null ENTRY {}", capture.getMessage());
87 }
88
89
90
91
92 public void testEntering() {
93 LogCapture capture = new LogCapture(Level.DEBUG);
94 logger.setLevel(Level.DEBUG);
95 LogXF.entering(logger, "SomeClass", "someMethod");
96 assertEquals("SomeClass.someMethod ENTRY", capture.getMessage());
97 }
98
99
100
101
102 public void testEnteringWithParam() {
103 LogCapture capture = new LogCapture(Level.DEBUG);
104 logger.setLevel(Level.DEBUG);
105 LogXF.entering(logger, "SomeClass", "someMethod", "someParam");
106 assertEquals("SomeClass.someMethod ENTRY someParam", capture.getMessage());
107 }
108
109
110
111
112 public void testEnteringWithBadParam() {
113 LogCapture capture = new LogCapture(Level.DEBUG);
114 logger.setLevel(Level.DEBUG);
115 LogXF.entering(logger, "SomeClass", "someMethod", BadStringifier.INSTANCE);
116 assertEquals("SomeClass.someMethod ENTRY ?", capture.getMessage());
117 }
118
119
120
121
122 public void testEnteringWithBadParams() {
123 LogCapture capture = new LogCapture(Level.DEBUG);
124 logger.setLevel(Level.DEBUG);
125 LogXF.entering(logger, "SomeClass", "someMethod", new Object[]{"param1",BadStringifier.INSTANCE});
126 assertEquals("SomeClass.someMethod ENTRY {param1,?}", capture.getMessage());
127 }
128
129
130
131
132
133 public void testExitingNullNull() {
134 LogCapture capture = new LogCapture(Level.DEBUG);
135 logger.setLevel(Level.DEBUG);
136 LogXF.exiting(logger, null, null);
137 assertEquals("null.null RETURN", capture.getMessage());
138 }
139
140
141
142
143
144 public void testExitingNullNullNull() {
145 LogCapture capture = new LogCapture(Level.DEBUG);
146 logger.setLevel(Level.DEBUG);
147 LogXF.exiting(logger, null, null, (String) null);
148 assertEquals("null.null RETURN null", capture.getMessage());
149 }
150
151
152
153
154
155 public void testExiting() {
156 LogCapture capture = new LogCapture(Level.DEBUG);
157 logger.setLevel(Level.DEBUG);
158 LogXF.exiting(logger, "SomeClass", "someMethod");
159 assertEquals("SomeClass.someMethod RETURN", capture.getMessage());
160 }
161
162
163
164
165 public void testExitingWithValue() {
166 LogCapture capture = new LogCapture(Level.DEBUG);
167 logger.setLevel(Level.DEBUG);
168 LogXF.exiting(logger, "SomeClass", "someMethod", "someValue");
169 assertEquals("SomeClass.someMethod RETURN someValue", capture.getMessage());
170 }
171
172
173
174
175 public void testExitingWithBadValue() {
176 LogCapture capture = new LogCapture(Level.DEBUG);
177 logger.setLevel(Level.DEBUG);
178 LogXF.exiting(logger, "SomeClass", "someMethod", BadStringifier.INSTANCE);
179 assertEquals("SomeClass.someMethod RETURN ?", capture.getMessage());
180 }
181
182
183
184
185
186 public void testThrowingNullNullNull() {
187 LogCapture capture = new LogCapture(Level.DEBUG);
188 logger.setLevel(Level.DEBUG);
189 LogXF.throwing(logger, null, null, null);
190 assertEquals("null.null THROW", capture.getMessage());
191 }
192
193
194
195
196
197 public void testThrowing() {
198 LogCapture capture = new LogCapture(Level.DEBUG);
199 logger.setLevel(Level.DEBUG);
200 LogXF.throwing(logger, "SomeClass", "someMethod", new IllegalArgumentException());
201 assertEquals("SomeClass.someMethod THROW", capture.getMessage());
202 }
203
204 }