fix(viewFactory): allow empty view cache
This commit is contained in:
parent
abda569b55
commit
02997f473a
|
@ -26,12 +26,8 @@ export class ViewFactory {
|
|||
|
||||
getView(protoView:viewModule.AppProtoView):viewModule.AppView {
|
||||
var pooledViews = MapWrapper.get(this._pooledViewsPerProtoView, protoView);
|
||||
if (isPresent(pooledViews)) {
|
||||
var result = ListWrapper.removeLast(pooledViews);
|
||||
if (pooledViews.length === 0) {
|
||||
MapWrapper.delete(this._pooledViewsPerProtoView, protoView);
|
||||
}
|
||||
return result;
|
||||
if (isPresent(pooledViews) && pooledViews.length > 0) {
|
||||
return ListWrapper.removeLast(pooledViews);
|
||||
}
|
||||
return this._createView(protoView);
|
||||
}
|
||||
|
|
|
@ -36,12 +36,8 @@ export class ViewFactory {
|
|||
|
||||
getView(protoView:pvModule.RenderProtoView):viewModule.RenderView {
|
||||
var pooledViews = MapWrapper.get(this._pooledViewsPerProtoView, protoView);
|
||||
if (isPresent(pooledViews)) {
|
||||
var result = ListWrapper.removeLast(pooledViews);
|
||||
if (pooledViews.length === 0) {
|
||||
MapWrapper.delete(this._pooledViewsPerProtoView, protoView);
|
||||
}
|
||||
return result;
|
||||
if (isPresent(pooledViews) && pooledViews.length > 0) {
|
||||
return ListWrapper.removeLast(pooledViews);
|
||||
}
|
||||
return this._createView(protoView, null);
|
||||
}
|
||||
|
|
|
@ -66,10 +66,10 @@ export function main() {
|
|||
return binder;
|
||||
}
|
||||
|
||||
it('should create views', () => {
|
||||
it('should create views without cache', () => {
|
||||
var pv = createProtoView();
|
||||
var vf = createViewFactory({
|
||||
capacity: 1
|
||||
capacity: 0
|
||||
});
|
||||
expect(vf.getView(pv) instanceof AppView).toBe(true);
|
||||
});
|
||||
|
|
|
@ -38,7 +38,7 @@ export class IntegrationTestbed {
|
|||
var compiler = new Compiler(new DefaultStepFactory(parser, shadowDomStrategy), new FakeTemplateLoader(urlResolver, urlData));
|
||||
|
||||
if (isBlank(viewCacheCapacity)) {
|
||||
viewCacheCapacity = 1;
|
||||
viewCacheCapacity = 0;
|
||||
}
|
||||
if (isBlank(urlData)) {
|
||||
urlData = MapWrapper.create();
|
||||
|
|
|
@ -61,10 +61,10 @@ export function main() {
|
|||
shadowDomStrategy = new SpyShadowDomStrategy();
|
||||
});
|
||||
|
||||
it('should create views', () => {
|
||||
it('should create views without cache', () => {
|
||||
var pv = createProtoView();
|
||||
var vf = createViewFactory({
|
||||
capacity: 1
|
||||
capacity: 0
|
||||
});
|
||||
expect(vf.getView(pv) instanceof RenderView).toBe(true);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue