OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 library logging_test; | 6 library logging_test; |
7 | 7 |
8 import 'package:logging/logging.dart'; | 8 import 'package:logging/logging.dart'; |
9 import 'package:unittest/unittest.dart'; | 9 import 'package:unittest/unittest.dart'; |
10 | 10 |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 Logger e = new Logger('a.b.c.d.e'); | 116 Logger e = new Logger('a.b.c.d.e'); |
117 | 117 |
118 setUp(() { | 118 setUp(() { |
119 hierarchicalLoggingEnabled = true; | 119 hierarchicalLoggingEnabled = true; |
120 root.level = Level.INFO; | 120 root.level = Level.INFO; |
121 a.level = null; | 121 a.level = null; |
122 b.level = null; | 122 b.level = null; |
123 c.level = null; | 123 c.level = null; |
124 d.level = null; | 124 d.level = null; |
125 e.level = null; | 125 e.level = null; |
126 root.on.record.clear(); | 126 root.clearListeners(); |
127 a.on.record.clear(); | 127 a.clearListeners(); |
128 b.on.record.clear(); | 128 b.clearListeners(); |
129 c.on.record.clear(); | 129 c.clearListeners(); |
130 d.on.record.clear(); | 130 d.clearListeners(); |
131 e.on.record.clear(); | 131 e.clearListeners(); |
132 hierarchicalLoggingEnabled = false; | 132 hierarchicalLoggingEnabled = false; |
133 root.level = Level.INFO; | 133 root.level = Level.INFO; |
134 }); | 134 }); |
135 | 135 |
136 test('cannot set level if hierarchy is disabled', () { | 136 test('cannot set level if hierarchy is disabled', () { |
137 expect(() {a.level = Level.FINE;}, throws); | 137 expect(() {a.level = Level.FINE;}, throws); |
138 }); | 138 }); |
139 | 139 |
140 test('loggers effective level - no hierarchy', () { | 140 test('loggers effective level - no hierarchy', () { |
141 expect(root.level, equals(Level.INFO)); | 141 expect(root.level, equals(Level.INFO)); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 expect(root.isLoggable(Level.SEVERE), isTrue); | 175 expect(root.isLoggable(Level.SEVERE), isTrue); |
176 expect(root.isLoggable(Level.WARNING), isFalse); | 176 expect(root.isLoggable(Level.WARNING), isFalse); |
177 expect(c.isLoggable(Level.FINEST), isTrue); | 177 expect(c.isLoggable(Level.FINEST), isTrue); |
178 expect(c.isLoggable(Level.FINE), isTrue); | 178 expect(c.isLoggable(Level.FINE), isTrue); |
179 expect(!e.isLoggable(Level.SHOUT), isTrue); | 179 expect(!e.isLoggable(Level.SHOUT), isTrue); |
180 }); | 180 }); |
181 | 181 |
182 test('add/remove handlers - no hierarchy', () { | 182 test('add/remove handlers - no hierarchy', () { |
183 int calls = 0; | 183 int calls = 0; |
184 var handler = (_) { calls++; }; | 184 var handler = (_) { calls++; }; |
185 c.on.record.add(handler); | 185 final sub = c.onRecord.listen(handler); |
186 root.info("foo"); | 186 root.info("foo"); |
187 root.info("foo"); | 187 root.info("foo"); |
188 expect(calls, equals(2)); | 188 expect(calls, equals(2)); |
189 c.on.record.remove(handler); | 189 sub.cancel(); |
190 root.info("foo"); | 190 root.info("foo"); |
191 expect(calls, equals(2)); | 191 expect(calls, equals(2)); |
192 }); | 192 }); |
193 | 193 |
194 test('add/remove handlers - with hierarchy', () { | 194 test('add/remove handlers - with hierarchy', () { |
195 hierarchicalLoggingEnabled = true; | 195 hierarchicalLoggingEnabled = true; |
196 int calls = 0; | 196 int calls = 0; |
197 var handler = (_) { calls++; }; | 197 var handler = (_) { calls++; }; |
198 c.on.record.add(handler); | 198 c.onRecord.listen(handler); |
199 root.info("foo"); | 199 root.info("foo"); |
200 root.info("foo"); | 200 root.info("foo"); |
201 expect(calls, equals(0)); | 201 expect(calls, equals(0)); |
202 }); | 202 }); |
203 | 203 |
204 test('logging methods store appropriate level', () { | 204 test('logging methods store appropriate level', () { |
205 root.level = Level.ALL; | 205 root.level = Level.ALL; |
206 var rootMessages = []; | 206 var rootMessages = []; |
207 root.on.record.add((record) { | 207 root.onRecord.listen((record) { |
208 rootMessages.add('${record.level}: ${record.message}'); | 208 rootMessages.add('${record.level}: ${record.message}'); |
209 }); | 209 }); |
210 | 210 |
211 root.finest('1'); | 211 root.finest('1'); |
212 root.finer('2'); | 212 root.finer('2'); |
213 root.fine('3'); | 213 root.fine('3'); |
214 root.config('4'); | 214 root.config('4'); |
215 root.info('5'); | 215 root.info('5'); |
216 root.warning('6'); | 216 root.warning('6'); |
217 root.severe('7'); | 217 root.severe('7'); |
218 root.shout('8'); | 218 root.shout('8'); |
219 | 219 |
220 expect(rootMessages, equals([ | 220 expect(rootMessages, equals([ |
221 'FINEST: 1', | 221 'FINEST: 1', |
222 'FINER: 2', | 222 'FINER: 2', |
223 'FINE: 3', | 223 'FINE: 3', |
224 'CONFIG: 4', | 224 'CONFIG: 4', |
225 'INFO: 5', | 225 'INFO: 5', |
226 'WARNING: 6', | 226 'WARNING: 6', |
227 'SEVERE: 7', | 227 'SEVERE: 7', |
228 'SHOUT: 8'])); | 228 'SHOUT: 8'])); |
229 }); | 229 }); |
230 | 230 |
231 test('message logging - no hierarchy', () { | 231 test('message logging - no hierarchy', () { |
232 root.level = Level.WARNING; | 232 root.level = Level.WARNING; |
233 var rootMessages = []; | 233 var rootMessages = []; |
234 var aMessages = []; | 234 var aMessages = []; |
235 var cMessages = []; | 235 var cMessages = []; |
236 c.on.record.add((record) { | 236 c.onRecord.listen((record) { |
237 cMessages.add('${record.level}: ${record.message}'); | 237 cMessages.add('${record.level}: ${record.message}'); |
238 }); | 238 }); |
239 a.on.record.add((record) { | 239 a.onRecord.listen((record) { |
240 aMessages.add('${record.level}: ${record.message}'); | 240 aMessages.add('${record.level}: ${record.message}'); |
241 }); | 241 }); |
242 root.on.record.add((record) { | 242 root.onRecord.listen((record) { |
243 rootMessages.add('${record.level}: ${record.message}'); | 243 rootMessages.add('${record.level}: ${record.message}'); |
244 }); | 244 }); |
245 | 245 |
246 root.info('1'); | 246 root.info('1'); |
247 root.fine('2'); | 247 root.fine('2'); |
248 root.shout('3'); | 248 root.shout('3'); |
249 | 249 |
250 b.info('4'); | 250 b.info('4'); |
251 b.severe('5'); | 251 b.severe('5'); |
252 b.warning('6'); | 252 b.warning('6'); |
(...skipping 21 matching lines...) Expand all Loading... |
274 }); | 274 }); |
275 | 275 |
276 test('message logging - with hierarchy', () { | 276 test('message logging - with hierarchy', () { |
277 hierarchicalLoggingEnabled = true; | 277 hierarchicalLoggingEnabled = true; |
278 | 278 |
279 b.level = Level.WARNING; | 279 b.level = Level.WARNING; |
280 | 280 |
281 var rootMessages = []; | 281 var rootMessages = []; |
282 var aMessages = []; | 282 var aMessages = []; |
283 var cMessages = []; | 283 var cMessages = []; |
284 c.on.record.add((record) { | 284 c.onRecord.listen((record) { |
285 cMessages.add('${record.level}: ${record.message}'); | 285 cMessages.add('${record.level}: ${record.message}'); |
286 }); | 286 }); |
287 a.on.record.add((record) { | 287 a.onRecord.listen((record) { |
288 aMessages.add('${record.level}: ${record.message}'); | 288 aMessages.add('${record.level}: ${record.message}'); |
289 }); | 289 }); |
290 root.on.record.add((record) { | 290 root.onRecord.listen((record) { |
291 rootMessages.add('${record.level}: ${record.message}'); | 291 rootMessages.add('${record.level}: ${record.message}'); |
292 }); | 292 }); |
293 | 293 |
294 root.info('1'); | 294 root.info('1'); |
295 root.fine('2'); | 295 root.fine('2'); |
296 root.shout('3'); | 296 root.shout('3'); |
297 | 297 |
298 b.info('4'); | 298 b.info('4'); |
299 b.severe('5'); | 299 b.severe('5'); |
300 b.warning('6'); | 300 b.warning('6'); |
(...skipping 26 matching lines...) Expand all Loading... |
327 'SHOUT: 10'])); | 327 'SHOUT: 10'])); |
328 | 328 |
329 expect(cMessages, equals([ | 329 expect(cMessages, equals([ |
330 // 1 - 7 are lower in the hierarchy | 330 // 1 - 7 are lower in the hierarchy |
331 // 'FINE: 8' is not loggable | 331 // 'FINE: 8' is not loggable |
332 'WARNING: 9', | 332 'WARNING: 9', |
333 'SHOUT: 10'])); | 333 'SHOUT: 10'])); |
334 }); | 334 }); |
335 }); | 335 }); |
336 } | 336 } |
OLD | NEW |