fix(HtmlParser): allow ng-content elements regardless the namespace
relates to #5547 Closes #5745
This commit is contained in:
parent
7c13372721
commit
080469f8e6
|
@ -1,5 +1,6 @@
|
|||
import {HtmlElementAst} from './html_ast';
|
||||
import {isBlank, isPresent} from 'angular2/src/facade/lang';
|
||||
import {splitNsName} from './html_tags';
|
||||
|
||||
const NG_CONTENT_SELECT_ATTR = 'select';
|
||||
const NG_CONTENT_ELEMENT = 'ng-content';
|
||||
|
@ -31,7 +32,7 @@ export function preparseElement(ast: HtmlElementAst): PreparsedElement {
|
|||
selectAttr = normalizeNgContentSelect(selectAttr);
|
||||
var nodeName = ast.name.toLowerCase();
|
||||
var type = PreparsedElementType.OTHER;
|
||||
if (nodeName == NG_CONTENT_ELEMENT) {
|
||||
if (splitNsName(nodeName)[1] == NG_CONTENT_ELEMENT) {
|
||||
type = PreparsedElementType.NG_CONTENT;
|
||||
} else if (nodeName == STYLE_ELEMENT) {
|
||||
type = PreparsedElementType.STYLE;
|
||||
|
|
|
@ -106,6 +106,15 @@ export function main() {
|
|||
expect(humanizeTplAst(parsed)).toEqual([[NgContentAst]]);
|
||||
});
|
||||
|
||||
it('should parse ngContent regardless the namespace', () => {
|
||||
var parsed = parse('<svg><ng-content></ng-content></svg>', []);
|
||||
expect(humanizeTplAst(parsed))
|
||||
.toEqual([
|
||||
[ElementAst, '@svg:svg'],
|
||||
[NgContentAst],
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse bound text nodes', () => {
|
||||
expect(humanizeTplAst(parse('{{a}}', []))).toEqual([[BoundTextAst, '{{ a }}']]);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue