feat(element_injector): allow @Optional for ProtoViewRef

This commit is contained in:
Jeremy Elbourn
2015-05-15 16:10:16 -07:00
parent 0114cd97b6
commit bb2eda2d15
2 changed files with 17 additions and 0 deletions
@@ -150,6 +150,13 @@ class NeedsProtoViewRef {
}
}
class OptionallyInjectsProtoViewRef {
protoViewRef;
constructor(@Optional() ref:ProtoViewRef) {
this.protoViewRef = ref;
}
}
class NeedsChangeDetectorRef {
changeDetectorRef;
constructor(cdr:ChangeDetectorRef) {
@@ -811,6 +818,12 @@ export function main() {
() => injector([NeedsProtoViewRef])
).toThrowError('No provider for ProtoViewRef! (NeedsProtoViewRef -> ProtoViewRef)');
});
it('should inject null if there is no ProtoViewRef when the dependency is optional', () => {
var inj = injector([OptionallyInjectsProtoViewRef]);
var instance = inj.get(OptionallyInjectsProtoViewRef);
expect(instance.protoViewRef).toBeNull();
});
});
describe('directive queries', () => {