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 |