feat(di): Mark objects @Injectable

Allow `PrivateComponentLoader`, `Testability`, and `TestabilityRegistry` to be injected.
This commit is contained in:
Tim Blasi 2015-03-31 12:36:43 -07:00
parent 4f56628566
commit 788461b7e2
2 changed files with 5 additions and 0 deletions

View File

@ -1,5 +1,6 @@
import {Compiler} from './compiler'; import {Compiler} from './compiler';
import {ShadowDomStrategy} from './shadow_dom_strategy'; import {ShadowDomStrategy} from './shadow_dom_strategy';
import {Injectable} from 'angular2/di';
import {EventManager} from 'angular2/src/render/dom/events/event_manager'; import {EventManager} from 'angular2/src/render/dom/events/event_manager';
import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader'; import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader';
import {Component} from 'angular2/src/core/annotations/annotations'; import {Component} from 'angular2/src/core/annotations/annotations';
@ -7,6 +8,7 @@ import {PrivateComponentLocation} from './private_component_location';
import {Type, stringify, BaseException} from 'angular2/src/facade/lang'; import {Type, stringify, BaseException} from 'angular2/src/facade/lang';
@Injectable()
export class PrivateComponentLoader { export class PrivateComponentLoader {
compiler:Compiler; compiler:Compiler;
shadowDomStrategy:ShadowDomStrategy; shadowDomStrategy:ShadowDomStrategy;

View File

@ -1,3 +1,4 @@
import {Injectable} from 'angular2/di';
import {DOM} from 'angular2/src/dom/dom_adapter'; import {DOM} from 'angular2/src/dom/dom_adapter';
import {Map, MapWrapper, List, ListWrapper} from 'angular2/src/facade/collection'; import {Map, MapWrapper, List, ListWrapper} from 'angular2/src/facade/collection';
import {StringWrapper, isBlank, BaseException} from 'angular2/src/facade/lang'; import {StringWrapper, isBlank, BaseException} from 'angular2/src/facade/lang';
@ -9,6 +10,7 @@ import * as getTestabilityModule from 'angular2/src/core/testability/get_testabi
* the browser and by services such as Protractor. Each bootstrapped Angular * the browser and by services such as Protractor. Each bootstrapped Angular
* application on the page will have an instance of Testability. * application on the page will have an instance of Testability.
*/ */
@Injectable()
export class Testability { export class Testability {
_pendingCount: number; _pendingCount: number;
_callbacks: List; _callbacks: List;
@ -53,6 +55,7 @@ export class Testability {
} }
} }
@Injectable()
export class TestabilityRegistry { export class TestabilityRegistry {
_applications: Map; _applications: Map;