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

Unified Diff: pkg/logging/test/logging_test.dart

Issue 814113004: Pull args, intl, logging, shelf, and source_maps out of the SDK. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Also csslib. Created 6 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/logging/pubspec.yaml ('k') | pkg/pkg.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/logging/test/logging_test.dart
diff --git a/pkg/logging/test/logging_test.dart b/pkg/logging/test/logging_test.dart
deleted file mode 100644
index 223498f0a1707b4ae93accfdc9fa4803717be98b..0000000000000000000000000000000000000000
--- a/pkg/logging/test/logging_test.dart
+++ /dev/null
@@ -1,460 +0,0 @@
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-
-library logging_test;
-
-import 'package:logging/logging.dart';
-import 'package:unittest/unittest.dart';
-
-main() {
- test('level comparison is a valid comparator', () {
- var level1 = const Level('NOT_REAL1', 253);
- expect(level1 == level1, isTrue);
- expect(level1 <= level1, isTrue);
- expect(level1 >= level1, isTrue);
- expect(level1 < level1, isFalse);
- expect(level1 > level1, isFalse);
-
- var level2 = const Level('NOT_REAL2', 455);
- expect(level1 <= level2, isTrue);
- expect(level1 < level2, isTrue);
- expect(level2 >= level1, isTrue);
- expect(level2 > level1, isTrue);
-
- var level3 = const Level('NOT_REAL3', 253);
- expect(level1, isNot(same(level3))); // different instances
- expect(level1, equals(level3)); // same value.
- });
-
- test('default levels are in order', () {
- final levels = Level.LEVELS;
-
- for (int i = 0; i < levels.length; i++) {
- for (int j = i + 1; j < levels.length; j++) {
- expect(levels[i] < levels[j], isTrue);
- }
- }
- });
-
- test('levels are comparable', () {
- final unsorted = [
- Level.INFO, Level.CONFIG, Level.FINE, Level.SHOUT, Level.OFF,
- Level.FINER, Level.ALL, Level.WARNING, Level.FINEST, Level.SEVERE,
- ];
-
- final sorted = Level.LEVELS;
-
- expect(unsorted, isNot(orderedEquals(sorted)));
-
- unsorted.sort();
- expect(unsorted, orderedEquals(sorted));
- });
-
- test('levels are hashable', () {
- var map = new Map<Level, String>();
- map[Level.INFO] = 'info';
- map[Level.SHOUT] = 'shout';
- expect(map[Level.INFO], same('info'));
- expect(map[Level.SHOUT], same('shout'));
- });
-
- test('logger name cannot start with a "." ', () {
- expect(() => new Logger('.c'), throwsArgumentError);
- });
-
- test('logger naming is hierarchical', () {
- Logger c = new Logger('a.b.c');
- expect(c.name, equals('c'));
- expect(c.parent.name, equals('b'));
- expect(c.parent.parent.name, equals('a'));
- expect(c.parent.parent.parent.name, equals(''));
- expect(c.parent.parent.parent.parent, isNull);
- });
-
- test('logger full name', () {
- Logger c = new Logger('a.b.c');
- expect(c.fullName, equals('a.b.c'));
- expect(c.parent.fullName, equals('a.b'));
- expect(c.parent.parent.fullName, equals('a'));
- expect(c.parent.parent.parent.fullName, equals(''));
- expect(c.parent.parent.parent.parent, isNull);
- });
-
- test('logger parent-child links are correct', () {
- Logger a = new Logger('a');
- Logger b = new Logger('a.b');
- Logger c = new Logger('a.c');
- expect(a, same(b.parent));
- expect(a, same(c.parent));
- expect(a.children['b'], same(b));
- expect(a.children['c'], same(c));
- });
-
- test('loggers are singletons', () {
- Logger a1 = new Logger('a');
- Logger a2 = new Logger('a');
- Logger b = new Logger('a.b');
- Logger root = Logger.root;
- expect(a1, same(a2));
- expect(a1, same(b.parent));
- expect(root, same(a1.parent));
- expect(root, same(new Logger('')));
- });
-
- test('cannot directly manipulate Logger.children', () {
- var loggerAB = new Logger('a.b');
- var loggerA = loggerAB.parent;
-
- expect(loggerA.children['b'], same(loggerAB), reason: 'can read Children');
-
- expect(() {
- loggerAB.children['test'] = null;
- }, throwsUnsupportedError, reason: 'Children is read-only');
- });
-
- test('stackTrace gets throw to LogRecord', () {
- Logger.root.level = Level.INFO;
-
- var records = new List<LogRecord>();
-
- var sub = Logger.root.onRecord.listen(records.add);
-
- try {
- throw new UnsupportedError('test exception');
- } catch(error, stack) {
- Logger.root.log(Level.SEVERE, 'severe', error, stack);
- Logger.root.warning('warning', error, stack);
- }
-
- Logger.root.log(Level.SHOUT, 'shout');
-
- sub.cancel();
-
- expect(records, hasLength(3));
-
- var severe = records[0];
- expect(severe.message, 'severe');
- expect(severe.error is UnsupportedError, isTrue);
- expect(severe.stackTrace is StackTrace, isTrue);
-
- var warning = records[1];
- expect(warning.message, 'warning');
- expect(warning.error is UnsupportedError, isTrue);
- expect(warning.stackTrace is StackTrace, isTrue);
-
- var shout = records[2];
- expect(shout.message, 'shout');
- expect(shout.error, isNull);
- expect(shout.stackTrace, isNull);
- });
-
- group('mutating levels', () {
- Logger root = Logger.root;
- Logger a = new Logger('a');
- Logger b = new Logger('a.b');
- Logger c = new Logger('a.b.c');
- Logger d = new Logger('a.b.c.d');
- Logger e = new Logger('a.b.c.d.e');
-
- setUp(() {
- hierarchicalLoggingEnabled = true;
- root.level = Level.INFO;
- a.level = null;
- b.level = null;
- c.level = null;
- d.level = null;
- e.level = null;
- root.clearListeners();
- a.clearListeners();
- b.clearListeners();
- c.clearListeners();
- d.clearListeners();
- e.clearListeners();
- hierarchicalLoggingEnabled = false;
- root.level = Level.INFO;
- });
-
- test('cannot set level if hierarchy is disabled', () {
- expect(() {a.level = Level.FINE;}, throwsUnsupportedError);
- });
-
- test('loggers effective level - no hierarchy', () {
- expect(root.level, equals(Level.INFO));
- expect(a.level, equals(Level.INFO));
- expect(b.level, equals(Level.INFO));
-
- root.level = Level.SHOUT;
-
- expect(root.level, equals(Level.SHOUT));
- expect(a.level, equals(Level.SHOUT));
- expect(b.level, equals(Level.SHOUT));
- });
-
- test('loggers effective level - with hierarchy', () {
- hierarchicalLoggingEnabled = true;
- expect(root.level, equals(Level.INFO));
- expect(a.level, equals(Level.INFO));
- expect(b.level, equals(Level.INFO));
- expect(c.level, equals(Level.INFO));
-
- root.level = Level.SHOUT;
- b.level = Level.FINE;
-
- expect(root.level, equals(Level.SHOUT));
- expect(a.level, equals(Level.SHOUT));
- expect(b.level, equals(Level.FINE));
- expect(c.level, equals(Level.FINE));
- });
-
- test('isLoggable is appropriate', () {
- hierarchicalLoggingEnabled = true;
- root.level = Level.SEVERE;
- c.level = Level.ALL;
- e.level = Level.OFF;
-
- expect(root.isLoggable(Level.SHOUT), isTrue);
- expect(root.isLoggable(Level.SEVERE), isTrue);
- expect(root.isLoggable(Level.WARNING), isFalse);
- expect(c.isLoggable(Level.FINEST), isTrue);
- expect(c.isLoggable(Level.FINE), isTrue);
- expect(e.isLoggable(Level.SHOUT), isFalse);
- });
-
- test('add/remove handlers - no hierarchy', () {
- int calls = 0;
- var handler = (_) { calls++; };
- final sub = c.onRecord.listen(handler);
- root.info("foo");
- root.info("foo");
- expect(calls, equals(2));
- sub.cancel();
- root.info("foo");
- expect(calls, equals(2));
- });
-
- test('add/remove handlers - with hierarchy', () {
- hierarchicalLoggingEnabled = true;
- int calls = 0;
- var handler = (_) { calls++; };
- c.onRecord.listen(handler);
- root.info("foo");
- root.info("foo");
- expect(calls, equals(0));
- });
-
- test('logging methods store appropriate level', () {
- root.level = Level.ALL;
- var rootMessages = [];
- root.onRecord.listen((record) {
- rootMessages.add('${record.level}: ${record.message}');
- });
-
- root.finest('1');
- root.finer('2');
- root.fine('3');
- root.config('4');
- root.info('5');
- root.warning('6');
- root.severe('7');
- root.shout('8');
-
- expect(rootMessages, equals([
- 'FINEST: 1',
- 'FINER: 2',
- 'FINE: 3',
- 'CONFIG: 4',
- 'INFO: 5',
- 'WARNING: 6',
- 'SEVERE: 7',
- 'SHOUT: 8']));
- });
-
- test('logging methods store exception', () {
- root.level = Level.ALL;
- var rootMessages = [];
- root.onRecord.listen((r) {
- rootMessages.add('${r.level}: ${r.message} ${r.error}');
- });
-
- root.finest('1');
- root.finer('2');
- root.fine('3');
- root.config('4');
- root.info('5');
- root.warning('6');
- root.severe('7');
- root.shout('8');
- root.finest('1', 'a');
- root.finer('2', 'b');
- root.fine('3', ['c']);
- root.config('4', 'd');
- root.info('5', 'e');
- root.warning('6', 'f');
- root.severe('7', 'g');
- root.shout('8', 'h');
-
- expect(rootMessages, equals([
- 'FINEST: 1 null',
- 'FINER: 2 null',
- 'FINE: 3 null',
- 'CONFIG: 4 null',
- 'INFO: 5 null',
- 'WARNING: 6 null',
- 'SEVERE: 7 null',
- 'SHOUT: 8 null',
- 'FINEST: 1 a',
- 'FINER: 2 b',
- 'FINE: 3 [c]',
- 'CONFIG: 4 d',
- 'INFO: 5 e',
- 'WARNING: 6 f',
- 'SEVERE: 7 g',
- 'SHOUT: 8 h']));
- });
-
- test('message logging - no hierarchy', () {
- root.level = Level.WARNING;
- var rootMessages = [];
- var aMessages = [];
- var cMessages = [];
- c.onRecord.listen((record) {
- cMessages.add('${record.level}: ${record.message}');
- });
- a.onRecord.listen((record) {
- aMessages.add('${record.level}: ${record.message}');
- });
- root.onRecord.listen((record) {
- rootMessages.add('${record.level}: ${record.message}');
- });
-
- root.info('1');
- root.fine('2');
- root.shout('3');
-
- b.info('4');
- b.severe('5');
- b.warning('6');
- b.fine('7');
-
- c.fine('8');
- c.warning('9');
- c.shout('10');
-
- expect(rootMessages, equals([
- // 'INFO: 1' is not loggable
- // 'FINE: 2' is not loggable
- 'SHOUT: 3',
- // 'INFO: 4' is not loggable
- 'SEVERE: 5',
- 'WARNING: 6',
- // 'FINE: 7' is not loggable
- // 'FINE: 8' is not loggable
- 'WARNING: 9',
- 'SHOUT: 10']));
-
- // no hierarchy means we all hear the same thing.
- expect(aMessages, equals(rootMessages));
- expect(cMessages, equals(rootMessages));
- });
-
- test('message logging - with hierarchy', () {
- hierarchicalLoggingEnabled = true;
-
- b.level = Level.WARNING;
-
- var rootMessages = [];
- var aMessages = [];
- var cMessages = [];
- c.onRecord.listen((record) {
- cMessages.add('${record.level}: ${record.message}');
- });
- a.onRecord.listen((record) {
- aMessages.add('${record.level}: ${record.message}');
- });
- root.onRecord.listen((record) {
- rootMessages.add('${record.level}: ${record.message}');
- });
-
- root.info('1');
- root.fine('2');
- root.shout('3');
-
- b.info('4');
- b.severe('5');
- b.warning('6');
- b.fine('7');
-
- c.fine('8');
- c.warning('9');
- c.shout('10');
-
- expect(rootMessages, equals([
- 'INFO: 1',
- // 'FINE: 2' is not loggable
- 'SHOUT: 3',
- // 'INFO: 4' is not loggable
- 'SEVERE: 5',
- 'WARNING: 6',
- // 'FINE: 7' is not loggable
- // 'FINE: 8' is not loggable
- 'WARNING: 9',
- 'SHOUT: 10']));
-
- expect(aMessages, equals([
- // 1,2 and 3 are lower in the hierarchy
- // 'INFO: 4' is not loggable
- 'SEVERE: 5',
- 'WARNING: 6',
- // 'FINE: 7' is not loggable
- // 'FINE: 8' is not loggable
- 'WARNING: 9',
- 'SHOUT: 10']));
-
- expect(cMessages, equals([
- // 1 - 7 are lower in the hierarchy
- // 'FINE: 8' is not loggable
- 'WARNING: 9',
- 'SHOUT: 10']));
- });
-
- test('message logging - lazy functions', () {
- root.level = Level.INFO;
- var messages = [];
- root.onRecord.listen((record) {
- messages.add('${record.level}: ${record.message}');
- });
-
- var callCount = 0;
- var myClosure = () => "${++callCount}";
-
- root.info(myClosure);
- root.finer(myClosure); // Should not get evaluated.
- root.warning(myClosure);
-
- expect(messages, equals([
- 'INFO: 1',
- 'WARNING: 2',]));
- });
-
- test('message logging - calls toString', () {
- root.level = Level.INFO;
- var messages = [];
- root.onRecord.listen((record) {
- messages.add('${record.level}: ${record.message}');
- });
-
- root.info(5);
- root.info(false);
- root.info([1, 2, 3]);
- root.info(() => 10);
-
- expect(messages, equals([
- 'INFO: 5',
- 'INFO: false',
- 'INFO: [1, 2, 3]',
- 'INFO: 10',]));
- });
- });
-}
« no previous file with comments | « pkg/logging/pubspec.yaml ('k') | pkg/pkg.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698