Useful for avoiding doing an actual XHR during testing. Part of the solution for #4051 (Other part is a Karma plugin that will create the template cache). Closes #7940
106 lines
4.4 KiB
TypeScript
106 lines
4.4 KiB
TypeScript
import {CONST_EXPR, IS_DART} from 'angular2/src/facade/lang';
|
|
import {provide, Provider, Injector, OpaqueToken} from 'angular2/src/core/di';
|
|
import {XHR} from 'angular2/src/compiler/xhr';
|
|
import {
|
|
PLATFORM_INITIALIZER,
|
|
PLATFORM_DIRECTIVES,
|
|
PLATFORM_PIPES,
|
|
ComponentRef,
|
|
platform,
|
|
ExceptionHandler,
|
|
Reflector,
|
|
RootRenderer,
|
|
reflector,
|
|
APPLICATION_COMMON_PROVIDERS,
|
|
PLATFORM_COMMON_PROVIDERS
|
|
} from "angular2/core";
|
|
import {COMMON_DIRECTIVES, COMMON_PIPES, FORM_PROVIDERS} from "angular2/common";
|
|
import {Testability} from 'angular2/src/core/testability/testability';
|
|
import {DOM} from 'angular2/src/platform/dom/dom_adapter';
|
|
import {DomEventsPlugin} from 'angular2/src/platform/dom/events/dom_events';
|
|
import {KeyEventsPlugin} from 'angular2/src/platform/dom/events/key_events';
|
|
import {HammerGesturesPlugin} from 'angular2/src/platform/dom/events/hammer_gestures';
|
|
import {DOCUMENT} from 'angular2/src/platform/dom/dom_tokens';
|
|
import {DomRootRenderer, DomRootRenderer_} from 'angular2/src/platform/dom/dom_renderer';
|
|
import {DomSharedStylesHost} from 'angular2/src/platform/dom/shared_styles_host';
|
|
import {SharedStylesHost} from "angular2/src/platform/dom/shared_styles_host";
|
|
import {BrowserDetails} from "angular2/src/animate/browser_details";
|
|
import {AnimationBuilder} from "angular2/src/animate/animation_builder";
|
|
import {BrowserDomAdapter} from './browser/browser_adapter';
|
|
import {BrowserGetTestability} from 'angular2/src/platform/browser/testability';
|
|
import {CachedXHR} from 'angular2/src/platform/browser/xhr_cache';
|
|
import {wtfInit} from 'angular2/src/core/profile/wtf_init';
|
|
import {EventManager, EVENT_MANAGER_PLUGINS} from "angular2/src/platform/dom/events/event_manager";
|
|
import {
|
|
HAMMER_GESTURE_CONFIG,
|
|
HammerGestureConfig
|
|
} from 'angular2/src/platform/dom/events/hammer_gestures';
|
|
import {ELEMENT_PROBE_PROVIDERS} from 'angular2/platform/common_dom';
|
|
export {DOCUMENT} from 'angular2/src/platform/dom/dom_tokens';
|
|
export {Title} from 'angular2/src/platform/browser/title';
|
|
export {
|
|
ELEMENT_PROBE_PROVIDERS,
|
|
ELEMENT_PROBE_PROVIDERS_PROD_MODE,
|
|
inspectNativeElement,
|
|
By
|
|
} from 'angular2/platform/common_dom';
|
|
export {BrowserDomAdapter} from './browser/browser_adapter';
|
|
export {enableDebugTools, disableDebugTools} from 'angular2/src/platform/browser/tools/tools';
|
|
export {HAMMER_GESTURE_CONFIG, HammerGestureConfig} from './dom/events/hammer_gestures';
|
|
|
|
/**
|
|
* A set of providers to initialize the Angular platform in a web browser.
|
|
*
|
|
* Used automatically by `bootstrap`, or can be passed to {@link platform}.
|
|
*/
|
|
export const BROWSER_PROVIDERS: Array<any /*Type | Provider | any[]*/> = CONST_EXPR([
|
|
PLATFORM_COMMON_PROVIDERS,
|
|
new Provider(PLATFORM_INITIALIZER, {useValue: initDomAdapter, multi: true}),
|
|
]);
|
|
|
|
function _exceptionHandler(): ExceptionHandler {
|
|
// !IS_DART is required because we must rethrow exceptions in JS,
|
|
// but must not rethrow exceptions in Dart
|
|
return new ExceptionHandler(DOM, !IS_DART);
|
|
}
|
|
|
|
function _document(): any {
|
|
return DOM.defaultDoc();
|
|
}
|
|
|
|
/**
|
|
* A set of providers to initialize an Angular application in a web browser.
|
|
*
|
|
* Used automatically by `bootstrap`, or can be passed to {@link PlatformRef.application}.
|
|
*/
|
|
export const BROWSER_APP_COMMON_PROVIDERS: Array<any /*Type | Provider | any[]*/> = CONST_EXPR([
|
|
APPLICATION_COMMON_PROVIDERS,
|
|
FORM_PROVIDERS,
|
|
new Provider(PLATFORM_PIPES, {useValue: COMMON_PIPES, multi: true}),
|
|
new Provider(PLATFORM_DIRECTIVES, {useValue: COMMON_DIRECTIVES, multi: true}),
|
|
new Provider(ExceptionHandler, {useFactory: _exceptionHandler, deps: []}),
|
|
new Provider(DOCUMENT, {useFactory: _document, deps: []}),
|
|
new Provider(EVENT_MANAGER_PLUGINS, {useClass: DomEventsPlugin, multi: true}),
|
|
new Provider(EVENT_MANAGER_PLUGINS, {useClass: KeyEventsPlugin, multi: true}),
|
|
new Provider(EVENT_MANAGER_PLUGINS, {useClass: HammerGesturesPlugin, multi: true}),
|
|
new Provider(HAMMER_GESTURE_CONFIG, {useClass: HammerGestureConfig}),
|
|
new Provider(DomRootRenderer, {useClass: DomRootRenderer_}),
|
|
new Provider(RootRenderer, {useExisting: DomRootRenderer}),
|
|
new Provider(SharedStylesHost, {useExisting: DomSharedStylesHost}),
|
|
DomSharedStylesHost,
|
|
Testability,
|
|
BrowserDetails,
|
|
AnimationBuilder,
|
|
EventManager,
|
|
ELEMENT_PROBE_PROVIDERS
|
|
]);
|
|
|
|
export const CACHED_TEMPLATE_PROVIDER: Array<any /*Type | Provider | any[]*/> =
|
|
CONST_EXPR([new Provider(XHR, {useClass: CachedXHR})]);
|
|
|
|
export function initDomAdapter() {
|
|
BrowserDomAdapter.makeCurrent();
|
|
wtfInit();
|
|
BrowserGetTestability.init();
|
|
}
|