| 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 |