Skip to content

Commit 1f35048

Browse files
committed
feat(TemplateParser): allow template elements regardless the namespace
Closes angular#5703
1 parent eb0ea93 commit 1f35048

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

modules/angular2/src/compiler/template_parser.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {Parser, AST, ASTWithSource} from 'angular2/src/core/change_detection/cha
77
import {TemplateBinding} from 'angular2/src/core/change_detection/parser/ast';
88
import {CompileDirectiveMetadata} from './directive_metadata';
99
import {HtmlParser} from './html_parser';
10+
import {splitHtmlTagNamespace} from './html_tags';
1011
import {ParseSourceSpan, ParseError, ParseLocation} from './parse_util';
1112

1213

@@ -215,7 +216,8 @@ class TemplateParseVisitor implements HtmlAstVisitor {
215216
}
216217
});
217218

218-
var isTemplateElement = nodeName.toLowerCase() == TEMPLATE_ELEMENT;
219+
var lcElName = splitHtmlTagNamespace(nodeName.toLowerCase())[1];
220+
var isTemplateElement = lcElName == TEMPLATE_ELEMENT;
219221
var elementCssSelector = createElementCssSelector(nodeName, matchableAttrs);
220222
var directives = this._createDirectiveAsts(
221223
element.name, this._parseDirectives(this.selectorMatcher, elementCssSelector),

modules/angular2/test/compiler/template_parser_spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,15 @@ There is no directive with "exportAs" set to "dirA" ("<div [ERROR ->]#a="dirA"><
500500
expect(humanizeTplAst(parse('<TEMPLATE></TEMPLATE>', [])))
501501
.toEqual([[EmbeddedTemplateAst]]);
502502
});
503+
504+
it('should create embedded templates for <template> elements regardless the namespace',
505+
() => {
506+
expect(humanizeTplAst(parse('<svg><template></template></svg>', [])))
507+
.toEqual([
508+
[ElementAst, '@svg:svg'],
509+
[EmbeddedTemplateAst],
510+
]);
511+
});
503512
});
504513

505514
describe('inline templates', () => {

0 commit comments

Comments
 (0)