Skip to content

Commit c32dbad

Browse files
committedMay 28, 2015
feat(tests): add TestComponentBuilder
Adds a TestComponentBuilder for use in component level tests. For usage examples, see test_component_builder_spec Closes #1812
1 parent 30b6542 commit c32dbad

File tree

6 files changed

+725
-17
lines changed

6 files changed

+725
-17
lines changed
 

‎modules/angular2/src/mock/template_resolver_mock.ts

+13-12
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ import {Type, isPresent, BaseException, stringify, isBlank} from 'angular2/src/f
44
import {View} from 'angular2/src/core/annotations_impl/view';
55
import {TemplateResolver} from 'angular2/src/core/compiler/template_resolver';
66

7+
78
export class MockTemplateResolver extends TemplateResolver {
8-
_templates: Map<Type, View>;
9+
_views: Map<Type, View>;
910
_inlineTemplates: Map<Type, string>;
10-
_templateCache: Map<Type, View>;
11+
_viewCache: Map<Type, View>;
1112
_directiveOverrides: Map<Type, Map<Type, Type>>;
1213

1314
constructor() {
1415
super();
15-
this._templates = MapWrapper.create();
16+
this._views = MapWrapper.create();
1617
this._inlineTemplates = MapWrapper.create();
17-
this._templateCache = MapWrapper.create();
18+
this._viewCache = MapWrapper.create();
1819
this._directiveOverrides = MapWrapper.create();
1920
}
2021

@@ -26,7 +27,7 @@ export class MockTemplateResolver extends TemplateResolver {
2627
*/
2728
setView(component: Type, view: View): void {
2829
this._checkOverrideable(component);
29-
MapWrapper.set(this._templates, component, view);
30+
MapWrapper.set(this._views, component, view);
3031
}
3132

3233
/**
@@ -47,7 +48,7 @@ export class MockTemplateResolver extends TemplateResolver {
4748
* @param {Type} from
4849
* @param {Type} to
4950
*/
50-
overrideTemplateDirective(component: Type, from: Type, to: Type): void {
51+
overrideViewDirective(component: Type, from: Type, to: Type): void {
5152
this._checkOverrideable(component);
5253

5354
var overrides = MapWrapper.get(this._directiveOverrides, component);
@@ -62,20 +63,20 @@ export class MockTemplateResolver extends TemplateResolver {
6263

6364
/**
6465
* Returns the {@link View} for a component:
65-
* - Set the {@link View} to the overridden template when it exists or fallback to the default
66+
* - Set the {@link View} to the overridden view when it exists or fallback to the default
6667
* `TemplateResolver`,
6768
* see `setView`.
68-
* - Override the directives, see `overrideTemplateDirective`.
69+
* - Override the directives, see `overrideViewDirective`.
6970
* - Override the @View definition, see `setInlineTemplate`.
7071
*
7172
* @param component
7273
* @returns {ViewDefinition}
7374
*/
7475
resolve(component: Type): View {
75-
var view = MapWrapper.get(this._templateCache, component);
76+
var view = MapWrapper.get(this._viewCache, component);
7677
if (isPresent(view)) return view;
7778

78-
view = MapWrapper.get(this._templates, component);
79+
view = MapWrapper.get(this._views, component);
7980
if (isBlank(view)) {
8081
view = super.resolve(component);
8182
}
@@ -106,7 +107,7 @@ export class MockTemplateResolver extends TemplateResolver {
106107
view = new View({template: inlineTemplate, templateUrl: null, directives: view.directives});
107108
}
108109

109-
MapWrapper.set(this._templateCache, component, view);
110+
MapWrapper.set(this._viewCache, component, view);
110111
return view;
111112
}
112113

@@ -119,7 +120,7 @@ export class MockTemplateResolver extends TemplateResolver {
119120
* @param {Type} component
120121
*/
121122
_checkOverrideable(component: Type): void {
122-
var cached = MapWrapper.get(this._templateCache, component);
123+
var cached = MapWrapper.get(this._viewCache, component);
123124

124125
if (isPresent(cached)) {
125126
throw new BaseException(

‎modules/angular2/src/test_lib/test_bed.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {DOM} from 'angular2/src/dom/dom_adapter';
2323

2424
/**
2525
* @exportedAs angular2/test
26+
* TODO(juliemr): Deprecate in favor of TestComponentBuilder
2627
*/
2728
@Injectable()
2829
export class TestBed {
@@ -61,7 +62,7 @@ export class TestBed {
6162
* @param {Type} to
6263
*/
6364
overrideDirective(component: Type, from: Type, to: Type): void {
64-
this._injector.get(TemplateResolver).overrideTemplateDirective(component, from, to);
65+
this._injector.get(TemplateResolver).overrideViewDirective(component, from, to);
6566
}
6667

6768
/**
@@ -107,6 +108,7 @@ export class TestBed {
107108
/**
108109
* Proxy to `AppView` return by `createView` in {@link TestBed} which offers a high level API for
109110
* tests.
111+
* TODO(juliemr): Deprecate in favor of TestElement
110112
*/
111113
export class ViewProxy {
112114
_componentRef: ComponentRef;

0 commit comments

Comments
 (0)