| 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 // TODO(rnystrom): Use "package:" import when test.dart supports it (#4968). | 8 // TODO(rnystrom): Use "package:" import when test.dart supports it (#4968). |
| 9 #import('../lib/logging.dart'); | 9 #import('../lib/logging.dart'); |
| 10 #import('../../../pkg/unittest/unittest.dart'); | 10 #import('../../../pkg/unittest/unittest.dart'); |
| 11 | 11 |
| 12 main() { | 12 main() { |
| 13 test('level comparison is a valid comparator', () { | 13 test('level comparison is a valid comparator', () { |
| 14 var level1 = const Level('NOT_REAL1', 253); | 14 var level1 = const Level('NOT_REAL1', 253); |
| 15 expect(level1 == level1); | 15 expect(level1 == level1, isTrue); |
| 16 expect(level1 <= level1); | 16 expect(level1 <= level1, isTrue); |
| 17 expect(level1 >= level1); | 17 expect(level1 >= level1, isTrue); |
| 18 expect(level1 < level1, isFalse); | 18 expect(level1 < level1, isFalse); |
| 19 expect(level1 > level1, isFalse); | 19 expect(level1 > level1, isFalse); |
| 20 | 20 |
| 21 var level2 = const Level('NOT_REAL2', 455); | 21 var level2 = const Level('NOT_REAL2', 455); |
| 22 expect(level1 <= level2); | 22 expect(level1 <= level2, isTrue); |
| 23 expect(level1 < level2); | 23 expect(level1 < level2, isTrue); |
| 24 expect(level2 >= level1); | 24 expect(level2 >= level1, isTrue); |
| 25 expect(level2 > level1); | 25 expect(level2 > level1, isTrue); |
| 26 | 26 |
| 27 var level3 = const Level('NOT_REAL3', 253); | 27 var level3 = const Level('NOT_REAL3', 253); |
| 28 expect(level1 !== level3); // different instances | 28 expect(level1 !== level3, isTrue); // different instances |
| 29 expect(level1 == level3); // same value. | 29 expect(level1 == level3, isTrue); // same value. |
| 30 }); | 30 }); |
| 31 | 31 |
| 32 test('default levels are in order', () { | 32 test('default levels are in order', () { |
| 33 final levels = const [ | 33 final levels = const [ |
| 34 Level.ALL, Level.FINEST, Level.FINER, Level.FINE, Level.CONFIG, | 34 Level.ALL, Level.FINEST, Level.FINER, Level.FINE, Level.CONFIG, |
| 35 Level.INFO, Level.WARNING, Level.SEVERE, Level.SHOUT, Level.OFF | 35 Level.INFO, Level.WARNING, Level.SEVERE, Level.SHOUT, Level.OFF |
| 36 ]; | 36 ]; |
| 37 | 37 |
| 38 for (int i = 0; i < levels.length; i++) { | 38 for (int i = 0; i < levels.length; i++) { |
| 39 for (int j = i + 1; j < levels.length; j++) { | 39 for (int j = i + 1; j < levels.length; j++) { |
| 40 expect(levels[i] < levels[j]); | 40 expect(levels[i] < levels[j], isTrue); |
| 41 } | 41 } |
| 42 } | 42 } |
| 43 }); | 43 }); |
| 44 | 44 |
| 45 test('levels are comparable', () { | 45 test('levels are comparable', () { |
| 46 final unsorted = [ | 46 final unsorted = [ |
| 47 Level.INFO, Level.CONFIG, Level.FINE, Level.SHOUT, Level.OFF, | 47 Level.INFO, Level.CONFIG, Level.FINE, Level.SHOUT, Level.OFF, |
| 48 Level.FINER, Level.ALL, Level.WARNING, Level.FINEST, Level.SEVERE, | 48 Level.FINER, Level.ALL, Level.WARNING, Level.FINEST, Level.SEVERE, |
| 49 ]; | 49 ]; |
| 50 final sorted = const [ | 50 final sorted = const [ |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 expect(c.parent.fullName, equals('a.b')); | 84 expect(c.parent.fullName, equals('a.b')); |
| 85 expect(c.parent.parent.fullName, equals('a')); | 85 expect(c.parent.parent.fullName, equals('a')); |
| 86 expect(c.parent.parent.parent.fullName, equals('')); | 86 expect(c.parent.parent.parent.fullName, equals('')); |
| 87 expect(c.parent.parent.parent.parent, isNull); | 87 expect(c.parent.parent.parent.parent, isNull); |
| 88 }); | 88 }); |
| 89 | 89 |
| 90 test('logger parent-child links are correct', () { | 90 test('logger parent-child links are correct', () { |
| 91 Logger a = new Logger('a'); | 91 Logger a = new Logger('a'); |
| 92 Logger b = new Logger('a.b'); | 92 Logger b = new Logger('a.b'); |
| 93 Logger c = new Logger('a.c'); | 93 Logger c = new Logger('a.c'); |
| 94 expect(a == b.parent); | 94 expect(a == b.parent, isTrue); |
| 95 expect(a == c.parent); | 95 expect(a == c.parent, isTrue); |
| 96 expect(a.children['b'] == b); | 96 expect(a.children['b'] == b, isTrue); |
| 97 expect(a.children['c'] == c); | 97 expect(a.children['c'] == c, isTrue); |
| 98 }); | 98 }); |
| 99 | 99 |
| 100 test('loggers are singletons', () { | 100 test('loggers are singletons', () { |
| 101 Logger a1 = new Logger('a'); | 101 Logger a1 = new Logger('a'); |
| 102 Logger a2 = new Logger('a'); | 102 Logger a2 = new Logger('a'); |
| 103 Logger b = new Logger('a.b'); | 103 Logger b = new Logger('a.b'); |
| 104 Logger root = Logger.root; | 104 Logger root = Logger.root; |
| 105 expect(a1 === a2); | 105 expect(a1 === a2, isTrue); |
| 106 expect(a1 === b.parent); | 106 expect(a1 === b.parent, isTrue); |
| 107 expect(root === a1.parent); | 107 expect(root === a1.parent, isTrue); |
| 108 expect(root === new Logger('')); | 108 expect(root === new Logger(''), isTrue); |
| 109 }); | 109 }); |
| 110 | 110 |
| 111 group('mutating levels', () { | 111 group('mutating levels', () { |
| 112 Logger root = Logger.root; | 112 Logger root = Logger.root; |
| 113 Logger a = new Logger('a'); | 113 Logger a = new Logger('a'); |
| 114 Logger b = new Logger('a.b'); | 114 Logger b = new Logger('a.b'); |
| 115 Logger c = new Logger('a.b.c'); | 115 Logger c = new Logger('a.b.c'); |
| 116 Logger d = new Logger('a.b.c.d'); | 116 Logger d = new Logger('a.b.c.d'); |
| 117 Logger e = new Logger('a.b.c.d.e'); | 117 Logger e = new Logger('a.b.c.d.e'); |
| 118 | 118 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 expect(b.level, equals(Level.FINE)); | 165 expect(b.level, equals(Level.FINE)); |
| 166 expect(c.level, equals(Level.FINE)); | 166 expect(c.level, equals(Level.FINE)); |
| 167 }); | 167 }); |
| 168 | 168 |
| 169 test('isLoggable is appropriate', () { | 169 test('isLoggable is appropriate', () { |
| 170 hierarchicalLoggingEnabled = true; | 170 hierarchicalLoggingEnabled = true; |
| 171 root.level = Level.SEVERE; | 171 root.level = Level.SEVERE; |
| 172 c.level = Level.ALL; | 172 c.level = Level.ALL; |
| 173 e.level = Level.OFF; | 173 e.level = Level.OFF; |
| 174 | 174 |
| 175 expect(root.isLoggable(Level.SHOUT)); | 175 expect(root.isLoggable(Level.SHOUT), isTrue); |
| 176 expect(root.isLoggable(Level.SEVERE)); | 176 expect(root.isLoggable(Level.SEVERE), isTrue); |
| 177 expect(!root.isLoggable(Level.WARNING)); | 177 expect(root.isLoggable(Level.WARNING), isFalse); |
| 178 expect(c.isLoggable(Level.FINEST)); | 178 expect(c.isLoggable(Level.FINEST), isTrue); |
| 179 expect(c.isLoggable(Level.FINE)); | 179 expect(c.isLoggable(Level.FINE), isTrue); |
| 180 expect(!e.isLoggable(Level.SHOUT)); | 180 expect(!e.isLoggable(Level.SHOUT), isTrue); |
| 181 }); | 181 }); |
| 182 | 182 |
| 183 test('add/remove handlers - no hierarchy', () { | 183 test('add/remove handlers - no hierarchy', () { |
| 184 int calls = 0; | 184 int calls = 0; |
| 185 var handler = (_) { calls++; }; | 185 var handler = (_) { calls++; }; |
| 186 c.on.record.add(handler); | 186 c.on.record.add(handler); |
| 187 root.info("foo"); | 187 root.info("foo"); |
| 188 root.info("foo"); | 188 root.info("foo"); |
| 189 expect(calls, equals(2)); | 189 expect(calls, equals(2)); |
| 190 c.on.record.remove(handler); | 190 c.on.record.remove(handler); |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 'SHOUT: 10'])); | 328 'SHOUT: 10'])); |
| 329 | 329 |
| 330 expect(cMessages, equals([ | 330 expect(cMessages, equals([ |
| 331 // 1 - 7 are lower in the hierarchy | 331 // 1 - 7 are lower in the hierarchy |
| 332 // 'FINE: 8' is not loggable | 332 // 'FINE: 8' is not loggable |
| 333 'WARNING: 9', | 333 'WARNING: 9', |
| 334 'SHOUT: 10'])); | 334 'SHOUT: 10'])); |
| 335 }); | 335 }); |
| 336 }); | 336 }); |
| 337 } | 337 } |
| OLD | NEW |