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 {
}