Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: pkg/logging/test/logging_test.dart

Issue 12334093: pkg/logging: BREAKING: move to stream-based event model (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: keep old API, but deprecated Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698