| Index: pkg/logging/test/logging_test.dart
|
| diff --git a/pkg/logging/test/logging_test.dart b/pkg/logging/test/logging_test.dart
|
| index a631e8c56106a66fcaa35256b27ee1b57bf188bf..1c973503a1b92fc417d5aa9415b12c11db264690 100644
|
| --- a/pkg/logging/test/logging_test.dart
|
| +++ b/pkg/logging/test/logging_test.dart
|
| @@ -24,8 +24,8 @@ main() {
|
| expect(level2 > level1, isTrue);
|
|
|
| var level3 = const Level('NOT_REAL3', 253);
|
| - expect(!identical(level1, level3), isTrue); // different instances
|
| - expect(level1 == level3, isTrue); // same value.
|
| + expect(level1, isNot(same(level3))); // different instances
|
| + expect(level1, equals(level3)); // same value.
|
| });
|
|
|
| test('default levels are in order', () {
|
| @@ -60,8 +60,8 @@ main() {
|
| var map = new Map<Level, String>();
|
| map[Level.INFO] = 'info';
|
| map[Level.SHOUT] = 'shout';
|
| - expect(map[Level.INFO], equals('info'));
|
| - expect(map[Level.SHOUT], equals('shout'));
|
| + expect(map[Level.INFO], same('info'));
|
| + expect(map[Level.SHOUT], same('shout'));
|
| });
|
|
|
| test('logger name cannot start with a "." ', () {
|
| @@ -90,10 +90,10 @@ main() {
|
| Logger a = new Logger('a');
|
| Logger b = new Logger('a.b');
|
| Logger c = new Logger('a.c');
|
| - expect(a == b.parent, isTrue);
|
| - expect(a == c.parent, isTrue);
|
| - expect(a.children['b'] == b, isTrue);
|
| - expect(a.children['c'] == c, isTrue);
|
| + 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', () {
|
| @@ -101,10 +101,57 @@ main() {
|
| Logger a2 = new Logger('a');
|
| Logger b = new Logger('a.b');
|
| Logger root = Logger.root;
|
| - expect(identical(a1, a2), isTrue);
|
| - expect(identical(a1, b.parent), isTrue);
|
| - expect(identical(root, a1.parent), isTrue);
|
| - expect(identical(root, new Logger('')), isTrue);
|
| + 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', () {
|
| @@ -134,7 +181,7 @@ main() {
|
| });
|
|
|
| test('cannot set level if hierarchy is disabled', () {
|
| - expect(() {a.level = Level.FINE;}, throws);
|
| + expect(() {a.level = Level.FINE;}, throwsUnsupportedError);
|
| });
|
|
|
| test('loggers effective level - no hierarchy', () {
|
| @@ -176,7 +223,7 @@ main() {
|
| expect(root.isLoggable(Level.WARNING), isFalse);
|
| expect(c.isLoggable(Level.FINEST), isTrue);
|
| expect(c.isLoggable(Level.FINE), isTrue);
|
| - expect(!e.isLoggable(Level.SHOUT), isTrue);
|
| + expect(e.isLoggable(Level.SHOUT), isFalse);
|
| });
|
|
|
| test('add/remove handlers - no hierarchy', () {
|
|
|