fix(dart/transform): Gracefully handle log calls before init
- Lazily create and use a logger that prints instead of `throw`ing. - Use this logger in unit tests.
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
library angular2.test.transform.common.logger;
|
||||
|
||||
import 'package:code_transformers/messages/build_logger.dart';
|
||||
|
||||
class NullLogger implements BuildLogger {
|
||||
const NullLogger();
|
||||
void info(String message, {AssetId asset, SourceSpan span}) {}
|
||||
void fine(String message, {AssetId asset, SourceSpan span}) {}
|
||||
void warning(String message, {AssetId asset, SourceSpan span}) {}
|
||||
void error(String message, {AssetId asset, SourceSpan span}) {
|
||||
throw new NullLoggerError(message, asset, span);
|
||||
}
|
||||
Future writeOutput() => null;
|
||||
Future addLogFilesFromAsset(AssetId id, [int nextNumber = 1]) => null;
|
||||
}
|
||||
|
||||
class NullLoggerError extends Error {
|
||||
final String message;
|
||||
final AssetId asset;
|
||||
final SourceSpan span;
|
||||
|
||||
NullLoggerError(message, asset, span);
|
||||
}
|
||||
@@ -10,14 +10,12 @@ import 'package:path/path.dart' as path;
|
||||
import 'package:guinness/guinness.dart';
|
||||
import 'package:unittest/vm_config.dart';
|
||||
|
||||
import '../common/logger.dart';
|
||||
import '../common/read_file.dart';
|
||||
|
||||
var formatter = new DartFormatter();
|
||||
|
||||
void allTests() {
|
||||
var reader = new TestAssetReader();
|
||||
setLogger(new NullLogger());
|
||||
|
||||
it('should ensure that dependencies are property chained.', () async {
|
||||
for (var inputPath in [
|
||||
|
||||
@@ -9,7 +9,6 @@ import 'package:angular2/src/transform/template_compiler/generator.dart';
|
||||
import 'package:dart_style/dart_style.dart';
|
||||
import 'package:guinness/guinness.dart';
|
||||
|
||||
import '../common/logger.dart';
|
||||
import '../common/read_file.dart';
|
||||
|
||||
var formatter = new DartFormatter();
|
||||
@@ -17,7 +16,6 @@ var formatter = new DartFormatter();
|
||||
void allTests() {
|
||||
Html5LibDomAdapter.makeCurrent();
|
||||
AssetReader reader = new TestAssetReader();
|
||||
setLogger(new NullLogger());
|
||||
|
||||
it('should parse simple expressions in inline templates.', () async {
|
||||
var inputPath =
|
||||
|
||||
Reference in New Issue
Block a user