From a9aef8e5e6c29fe1f52a66bc510dab630f62e1ac Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Mon, 5 Oct 2015 09:49:05 -0700 Subject: [PATCH] fix(core): set `ViewEncapsulation.Emulated` as the default again Fixes #4494 --- .../src/core/compiler/directive_metadata.ts | 2 +- .../core/compiler/directive_metadata_spec.ts | 5 +++++ .../test/core/compiler/template_compiler_spec.ts | 16 ++++++++++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/modules/angular2/src/core/compiler/directive_metadata.ts b/modules/angular2/src/core/compiler/directive_metadata.ts index 5024e8ba04..ec344771b5 100644 --- a/modules/angular2/src/core/compiler/directive_metadata.ts +++ b/modules/angular2/src/core/compiler/directive_metadata.ts @@ -64,7 +64,7 @@ export class CompileTemplateMetadata { styleUrls?: string[], ngContentSelectors?: string[] } = {}) { - this.encapsulation = encapsulation; + this.encapsulation = isPresent(encapsulation) ? encapsulation : ViewEncapsulation.Emulated; this.template = template; this.templateUrl = templateUrl; this.styles = isPresent(styles) ? styles : []; diff --git a/modules/angular2/test/core/compiler/directive_metadata_spec.ts b/modules/angular2/test/core/compiler/directive_metadata_spec.ts index 0a6efc1dee..76f9149ec7 100644 --- a/modules/angular2/test/core/compiler/directive_metadata_spec.ts +++ b/modules/angular2/test/core/compiler/directive_metadata_spec.ts @@ -76,6 +76,11 @@ export function main() { }); describe('TemplateMetadata', () => { + it('should use ViewEncapsulation.Emulated by default', () => { + expect(new CompileTemplateMetadata({encapsulation: null}).encapsulation) + .toBe(ViewEncapsulation.Emulated); + }); + it('should serialize with full data', () => { expect(CompileTemplateMetadata.fromJson(fullTemplateMeta.toJson())) .toEqual(fullTemplateMeta); diff --git a/modules/angular2/test/core/compiler/template_compiler_spec.ts b/modules/angular2/test/core/compiler/template_compiler_spec.ts index 9d395afc13..381376eb5d 100644 --- a/modules/angular2/test/core/compiler/template_compiler_spec.ts +++ b/modules/angular2/test/core/compiler/template_compiler_spec.ts @@ -26,6 +26,7 @@ import {evalModule} from './eval_module'; import {SourceModule, moduleRef} from 'angular2/src/core/compiler/source_module'; import {XHR} from 'angular2/src/core/compiler/xhr'; import {MockXHR} from 'angular2/src/core/compiler/xhr_mock'; +import {ViewEncapsulation} from 'angular2/src/core/render/api'; import {Locals} from 'angular2/src/core/change_detection/change_detection'; @@ -283,22 +284,29 @@ export function main() { moduleId: THIS_MODULE_ID, exportAs: 'someExportAs' }) -@View({template: '', styles: ['div {color: red}']}) +@View({ + template: '', + styles: ['div {color: red}'], + encapsulation: ViewEncapsulation.None +}) class CompWithBindingsAndStyles { } @Component({selector: 'tree', moduleId: THIS_MODULE_ID}) -@View({template: '', directives: [TreeComp]}) +@View({template: '', directives: [TreeComp], encapsulation: ViewEncapsulation.None}) class TreeComp { } @Component({selector: 'comp-url', moduleId: THIS_MODULE_ID}) -@View({templateUrl: 'compUrl.html'}) +@View({templateUrl: 'compUrl.html', encapsulation: ViewEncapsulation.None}) class CompWithTemplateUrl { } @Component({selector: 'comp-tpl', moduleId: THIS_MODULE_ID}) -@View({template: ''}) +@View({ + template: '', + encapsulation: ViewEncapsulation.None +}) class CompWithEmbeddedTemplate { }