From 35e32bbea170327225be86ef437ab8694f866bb9 Mon Sep 17 00:00:00 2001 From: Tim Blasi Date: Thu, 3 Dec 2015 09:06:42 -0800 Subject: [PATCH] feat(mocks): Mark mock objects @Injectable() Make mock objects `@Injectable()` to allow using them in compiled tests. Closes #5576 --- modules/angular2/src/mock/directive_resolver_mock.ts | 2 ++ modules/angular2/src/mock/location_mock.ts | 2 ++ modules/angular2/src/mock/mock_application_ref.ts | 4 +++- modules/angular2/src/mock/mock_location_strategy.ts | 2 ++ modules/angular2/src/mock/ng_zone_mock.ts | 2 ++ modules/angular2/src/mock/view_resolver_mock.ts | 2 ++ modules/angular2/src/testing/utils.ts | 2 ++ modules/angular2/test/core/testability/testability_spec.ts | 2 ++ 8 files changed, 17 insertions(+), 1 deletion(-) diff --git a/modules/angular2/src/mock/directive_resolver_mock.ts b/modules/angular2/src/mock/directive_resolver_mock.ts index 294a7839e6..9b1e0993fe 100644 --- a/modules/angular2/src/mock/directive_resolver_mock.ts +++ b/modules/angular2/src/mock/directive_resolver_mock.ts @@ -1,8 +1,10 @@ +import {Injectable} from 'angular2/src/core/di'; import {Map, MapWrapper, ListWrapper} from 'angular2/src/facade/collection'; import {Type, isPresent, stringify, isBlank, print} from 'angular2/src/facade/lang'; import {DirectiveMetadata, ComponentMetadata} from '../core/metadata'; import {DirectiveResolver} from 'angular2/src/core/linker/directive_resolver'; +@Injectable() export class MockDirectiveResolver extends DirectiveResolver { private _providerOverrides = new Map(); private viewProviderOverrides = new Map(); diff --git a/modules/angular2/src/mock/location_mock.ts b/modules/angular2/src/mock/location_mock.ts index 4931049794..ca61672f4c 100644 --- a/modules/angular2/src/mock/location_mock.ts +++ b/modules/angular2/src/mock/location_mock.ts @@ -1,7 +1,9 @@ +import {Injectable} from 'angular2/src/core/di'; import {EventEmitter, ObservableWrapper} from 'angular2/src/facade/async'; import {ListWrapper} from 'angular2/src/facade/collection'; import {Location} from 'angular2/src/router/location'; +@Injectable() export class SpyLocation implements Location { urlChanges: string[] = []; /** @internal */ diff --git a/modules/angular2/src/mock/mock_application_ref.ts b/modules/angular2/src/mock/mock_application_ref.ts index 1c6b93b002..568e5fac29 100644 --- a/modules/angular2/src/mock/mock_application_ref.ts +++ b/modules/angular2/src/mock/mock_application_ref.ts @@ -1,10 +1,12 @@ import {ApplicationRef} from 'angular2/src/core/application_ref'; +import {Injectable} from 'angular2/src/core/di'; import {Type} from 'angular2/src/facade/lang'; import {ComponentRef} from 'angular2/src/core/linker/dynamic_component_loader'; import {Provider, Injector} from 'angular2/src/core/di'; import {NgZone} from 'angular2/src/core/zone/ng_zone'; import {Promise} from 'angular2/src/facade/async'; +@Injectable() export class MockApplicationRef extends ApplicationRef { registerBootstrapListener(listener: (ref: ComponentRef) => void): void {} @@ -23,4 +25,4 @@ export class MockApplicationRef extends ApplicationRef { tick(): void {} get componentTypes(): Type[] { return null; }; -} \ No newline at end of file +} diff --git a/modules/angular2/src/mock/mock_location_strategy.ts b/modules/angular2/src/mock/mock_location_strategy.ts index e445dae170..fd7ad2877e 100644 --- a/modules/angular2/src/mock/mock_location_strategy.ts +++ b/modules/angular2/src/mock/mock_location_strategy.ts @@ -1,7 +1,9 @@ +import {Injectable} from 'angular2/src/core/di'; import {EventEmitter, ObservableWrapper} from 'angular2/src/facade/async'; import {LocationStrategy} from 'angular2/src/router/location_strategy'; +@Injectable() export class MockLocationStrategy extends LocationStrategy { internalBaseHref: string = '/'; internalPath: string = '/'; diff --git a/modules/angular2/src/mock/ng_zone_mock.ts b/modules/angular2/src/mock/ng_zone_mock.ts index fb0cd183f5..20f20dfdbe 100644 --- a/modules/angular2/src/mock/ng_zone_mock.ts +++ b/modules/angular2/src/mock/ng_zone_mock.ts @@ -1,6 +1,8 @@ +import {Injectable} from 'angular2/src/core/di'; import {NgZone} from 'angular2/src/core/zone/ng_zone'; import {EventEmitter, ObservableWrapper} from 'angular2/src/facade/async'; +@Injectable() export class MockNgZone extends NgZone { /** @internal */ _mockOnEventDone: EventEmitter; diff --git a/modules/angular2/src/mock/view_resolver_mock.ts b/modules/angular2/src/mock/view_resolver_mock.ts index 110d7019b1..a51a47aa0e 100644 --- a/modules/angular2/src/mock/view_resolver_mock.ts +++ b/modules/angular2/src/mock/view_resolver_mock.ts @@ -1,3 +1,4 @@ +import {Injectable} from 'angular2/src/core/di'; import {Map, MapWrapper, ListWrapper} from 'angular2/src/facade/collection'; import {Type, isPresent, stringify, isBlank} from 'angular2/src/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/facade/exceptions'; @@ -5,6 +6,7 @@ import {BaseException, WrappedException} from 'angular2/src/facade/exceptions'; import {ViewMetadata} from '../core/metadata'; import {ViewResolver} from 'angular2/src/core/linker/view_resolver'; +@Injectable() export class MockViewResolver extends ViewResolver { /** @internal */ _views = new Map(); diff --git a/modules/angular2/src/testing/utils.ts b/modules/angular2/src/testing/utils.ts index 4783ae959f..aa5ad69368 100644 --- a/modules/angular2/src/testing/utils.ts +++ b/modules/angular2/src/testing/utils.ts @@ -1,7 +1,9 @@ +import {Injectable} from 'angular2/src/core/di'; import {ListWrapper, MapWrapper} from 'angular2/src/facade/collection'; import {DOM} from 'angular2/src/platform/dom/dom_adapter'; import {isPresent, isString, RegExpWrapper, StringWrapper, RegExp} from 'angular2/src/facade/lang'; +@Injectable() export class Log { /** @internal */ _result: any[]; diff --git a/modules/angular2/test/core/testability/testability_spec.ts b/modules/angular2/test/core/testability/testability_spec.ts index 6fdb83484a..c9a7418e3d 100644 --- a/modules/angular2/test/core/testability/testability_spec.ts +++ b/modules/angular2/test/core/testability/testability_spec.ts @@ -1,3 +1,4 @@ +import {Injectable} from 'angular2/src/core/di'; import { AsyncTestCompleter, inject, @@ -21,6 +22,7 @@ function microTask(fn: Function): void { PromiseWrapper.resolve(null).then((_) => { fn(); }); } +@Injectable() class MockNgZone extends NgZone { _onTurnStartStream: EventEmitter; get onTurnStart() { return this._onTurnStartStream; }