fix(Compiler): asynchronous error reporting

This commit is contained in:
Victor Berchet 2015-03-03 15:24:26 +01:00
parent 2e488f3559
commit c3873be295
2 changed files with 15 additions and 17 deletions

View File

@ -199,10 +199,10 @@ export class Compiler {
var protoView = this._compile(ce.componentDirective.type);
if (PromiseWrapper.isPromise(protoView)) {
ListWrapper.push(promises, protoView);
protoView.then(function (protoView) {
ce.inheritedElementBinder.nestedProtoView = protoView;
});
ListWrapper.push(
promises,
protoView.then(function(pv) { ce.inheritedElementBinder.nestedProtoView = pv;})
);
} else {
ce.inheritedElementBinder.nestedProtoView = protoView;
}

View File

@ -229,19 +229,17 @@ export function runCompilerCommonTests() {
createNestedComponentSpec('(error -> sync)', templateResolver,
'Failed to load the template for ParentComponent');
// TODO(vicb): Check why errors this fails with Dart
// TODO(vicb): The Promise is rejected with the correct error but an exc is thrown before
//templateResolver = new FakeTemplateResolver();
//templateResolver.setSync(ParentComponent);
//templateResolver.setError(NestedComponent);
//createNestedComponentSpec('(sync -> error)', templateResolver,
// 'Failed to load the template for NestedComponent -> Failed to compile ParentComponent');
//
//templateResolver = new FakeTemplateResolver();
//templateResolver.setAsync(ParentComponent);
//templateResolver.setError(NestedComponent);
//createNestedComponentSpec('(async -> error)', templateResolver,
// 'Failed to load the template for NestedComponent -> Failed to compile ParentComponent');
templateResolver = new FakeTemplateResolver();
templateResolver.setSync(ParentComponent);
templateResolver.setError(NestedComponent);
createNestedComponentSpec('(sync -> error)', templateResolver,
'Failed to load the template for NestedComponent -> Failed to compile ParentComponent');
templateResolver = new FakeTemplateResolver();
templateResolver.setAsync(ParentComponent);
templateResolver.setError(NestedComponent);
createNestedComponentSpec('(async -> error)', templateResolver,
'Failed to load the template for NestedComponent -> Failed to compile ParentComponent');
});