test: added simple View test

This commit is contained in:
Misko Hevery
2014-09-28 20:02:32 -07:00
parent 9c7c7e8acf
commit 817c005845
9 changed files with 65 additions and 27 deletions

View File

@ -6,24 +6,6 @@ import {Module} from 'di/di';
import {ProtoElementInjector, ElementInjector} from './element_injector';
import {SetterFn} from 'change_detection/facade';
export class ProtoView {
@FIELD('final _template:TemplateElement')
@FIELD('final _module:Module')
@FIELD('final _protoElementInjectors:List<ProtoElementInjector>')
@FIELD('final _protoWatchGroup:ProtoWatchGroup')
constructor(
template:TemplateElement,
module:Module,
protoElementInjector:ProtoElementInjector,
protoWatchGroup:ProtoWatchGroup)
{
this._template = template;
this._module = module;
this._protoElementInjectors = protoElementInjector;
this._protoWatchGroup = protoWatchGroup;
}
}
@IMPLEMENTS(WatchGroupDispatcher)
export class View {
@FIELD('final _fragment:DocumentFragment')
@ -59,6 +41,28 @@ export class View {
}
}
export class ProtoView {
@FIELD('final _template:TemplateElement')
@FIELD('final _module:Module')
@FIELD('final _protoElementInjectors:List<ProtoElementInjector>')
@FIELD('final _protoWatchGroup:ProtoWatchGroup')
constructor(
template:TemplateElement,
module:Module,
protoElementInjector:ProtoElementInjector,
protoWatchGroup:ProtoWatchGroup)
{
this._template = template;
this._module = module;
this._protoElementInjectors = protoElementInjector;
this._protoWatchGroup = protoWatchGroup;
}
instantiate():View {
return new View(DOM.clone(this._template.content));
}
}
export class ElementInjectorTarget {
@FIELD('final _elementInjectorIndex:int')

View File

@ -0,0 +1,16 @@
import {describe, id} from 'test_lib/test_lib';
import {ProtoView, View} from './view';
import {DOM} from 'facade/dom';
export function main() {
describe('view', () => {
describe('ProtoView', () => {
it('should create an instance of view', () => {
var template = DOM.createTemplate('Hello <b>world</b>!');
var pv = new ProtoView(template, null, null, null);
var view:View = pv.instantiate();
expect(view instanceof View).toBe(true);
});
});
});
}