2016-04-12 12:40:37 -04:00
|
|
|
import {
|
|
|
|
APP_ID,
|
|
|
|
NgZone,
|
|
|
|
Provider,
|
|
|
|
PLATFORM_COMMON_PROVIDERS,
|
|
|
|
PLATFORM_INITIALIZER,
|
|
|
|
APPLICATION_COMMON_PROVIDERS,
|
|
|
|
Renderer
|
|
|
|
} from 'angular2/core';
|
2016-01-06 17:13:44 -05:00
|
|
|
import {DirectiveResolver, ViewResolver} from 'angular2/compiler';
|
|
|
|
|
2015-12-15 19:38:27 -05:00
|
|
|
import {Parse5DomAdapter} from 'angular2/src/platform/server/parse5_adapter';
|
|
|
|
|
|
|
|
import {AnimationBuilder} from 'angular2/src/animate/animation_builder';
|
|
|
|
import {MockAnimationBuilder} from 'angular2/src/mock/animation_builder_mock';
|
|
|
|
import {MockDirectiveResolver} from 'angular2/src/mock/directive_resolver_mock';
|
|
|
|
import {MockViewResolver} from 'angular2/src/mock/view_resolver_mock';
|
|
|
|
import {MockLocationStrategy} from 'angular2/src/mock/mock_location_strategy';
|
|
|
|
import {MockNgZone} from 'angular2/src/mock/ng_zone_mock';
|
|
|
|
|
|
|
|
import {TestComponentBuilder} from 'angular2/src/testing/test_component_builder';
|
|
|
|
import {XHR} from 'angular2/src/compiler/xhr';
|
|
|
|
import {BrowserDetection} from 'angular2/src/testing/utils';
|
|
|
|
|
|
|
|
import {COMPILER_PROVIDERS} from 'angular2/src/compiler/compiler';
|
|
|
|
import {DOCUMENT} from 'angular2/src/platform/dom/dom_tokens';
|
|
|
|
import {DOM} from 'angular2/src/platform/dom/dom_adapter';
|
|
|
|
import {RootRenderer} from 'angular2/src/core/render/api';
|
|
|
|
import {DomRootRenderer, DomRootRenderer_} from 'angular2/src/platform/dom/dom_renderer';
|
2016-01-06 17:13:44 -05:00
|
|
|
import {DomSharedStylesHost, SharedStylesHost} from 'angular2/src/platform/dom/shared_styles_host';
|
2015-12-15 19:38:27 -05:00
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
import {
|
|
|
|
EventManager,
|
|
|
|
EVENT_MANAGER_PLUGINS,
|
|
|
|
ELEMENT_PROBE_PROVIDERS
|
|
|
|
} from 'angular2/platform/common_dom';
|
2015-12-15 19:38:27 -05:00
|
|
|
import {DomEventsPlugin} from 'angular2/src/platform/dom/events/dom_events';
|
refactor(Location): out of router and into platform/common
closes https://github.com/angular/angular/issues/4943
BREAKING CHANGE:
`Location` and other related providers have been moved out of `router` and into `platform/common`. `BrowserPlatformLocation` is not meant to be used directly however advanced configurations may use it via the following import change.
Before:
```
import {
PlatformLocation,
Location,
LocationStrategy,
HashLocationStrategy,
PathLocationStrategy,
APP_BASE_HREF}
from 'angular2/router';
import {BrowserPlatformLocation} from 'angular2/src/router/location/browser_platform_location';
```
After:
```
import {
PlatformLocation,
Location,
LocationStrategy,
HashLocationStrategy,
PathLocationStrategy,
APP_BASE_HREF}
from 'angular2/platform/common';
import {BrowserPlatformLocation} from 'angular2/src/platform/browser/location/browser_platform_location';
```
Closes #7962
2016-04-08 03:31:20 -04:00
|
|
|
import {LocationStrategy} from 'angular2/platform/common';
|
2015-12-15 19:38:27 -05:00
|
|
|
|
|
|
|
import {CONST_EXPR} from 'angular2/src/facade/lang';
|
|
|
|
|
|
|
|
import {Log} from 'angular2/src/testing/utils';
|
|
|
|
|
|
|
|
function initServerTests() {
|
|
|
|
Parse5DomAdapter.makeCurrent();
|
|
|
|
BrowserDetection.setup();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2016-04-14 23:59:44 -04:00
|
|
|
* Default platform providers for testing.
|
2015-12-15 19:38:27 -05:00
|
|
|
*/
|
|
|
|
export const TEST_SERVER_PLATFORM_PROVIDERS: Array<any /*Type | Provider | any[]*/> = CONST_EXPR([
|
|
|
|
PLATFORM_COMMON_PROVIDERS,
|
|
|
|
new Provider(PLATFORM_INITIALIZER, {useValue: initServerTests, multi: true})
|
|
|
|
]);
|
|
|
|
|
|
|
|
function appDoc() {
|
|
|
|
try {
|
|
|
|
return DOM.defaultDoc();
|
|
|
|
} catch (e) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Default application providers for testing.
|
|
|
|
*/
|
|
|
|
export const TEST_SERVER_APPLICATION_PROVIDERS: Array<any /*Type | Provider | any[]*/> =
|
|
|
|
CONST_EXPR([
|
|
|
|
// TODO(julie): when angular2/platform/server is available, use that instead of making our own
|
|
|
|
// list here.
|
|
|
|
APPLICATION_COMMON_PROVIDERS,
|
|
|
|
COMPILER_PROVIDERS,
|
|
|
|
new Provider(DOCUMENT, {useFactory: appDoc}),
|
|
|
|
new Provider(DomRootRenderer, {useClass: DomRootRenderer_}),
|
|
|
|
new Provider(RootRenderer, {useExisting: DomRootRenderer}),
|
|
|
|
EventManager,
|
|
|
|
new Provider(EVENT_MANAGER_PLUGINS, {useClass: DomEventsPlugin, multi: true}),
|
|
|
|
new Provider(XHR, {useClass: XHR}),
|
|
|
|
new Provider(APP_ID, {useValue: 'a'}),
|
2016-01-06 17:13:44 -05:00
|
|
|
new Provider(SharedStylesHost, {useExisting: DomSharedStylesHost}),
|
2015-12-15 19:38:27 -05:00
|
|
|
DomSharedStylesHost,
|
|
|
|
ELEMENT_PROBE_PROVIDERS,
|
|
|
|
new Provider(DirectiveResolver, {useClass: MockDirectiveResolver}),
|
|
|
|
new Provider(ViewResolver, {useClass: MockViewResolver}),
|
|
|
|
Log,
|
|
|
|
TestComponentBuilder,
|
|
|
|
new Provider(NgZone, {useClass: MockNgZone}),
|
|
|
|
new Provider(LocationStrategy, {useClass: MockLocationStrategy}),
|
|
|
|
new Provider(AnimationBuilder, {useClass: MockAnimationBuilder}),
|
|
|
|
]);
|