diff --git a/packages/core/src/debug/debug_node.ts b/packages/core/src/debug/debug_node.ts index 76919fd805..776ddfa12e 100644 --- a/packages/core/src/debug/debug_node.ts +++ b/packages/core/src/debug/debug_node.ts @@ -247,7 +247,7 @@ class DebugElement__POST_R3__ extends DebugNode__POST_R3__ implements DebugEleme return this.nativeNode.nodeType == Node.ELEMENT_NODE ? this.nativeNode as Element : null; } - get name(): string { return this.nativeElement !.nodeName; } + get name(): string { return this.nativeNode.nodeName; } /** * Gets a map of property names to property values for an element. diff --git a/packages/core/test/debug/debug_node_spec.ts b/packages/core/test/debug/debug_node_spec.ts index 916787af03..30315ab10f 100644 --- a/packages/core/test/debug/debug_node_spec.ts +++ b/packages/core/test/debug/debug_node_spec.ts @@ -1018,4 +1018,22 @@ class TestCmptWithPropBindings { }); }); + + it('should not error when accessing node name', () => { + @Component({template: ''}) + class EmptyComponent { + } + + const fixture = TestBed.configureTestingModule({declarations: [EmptyComponent]}) + .createComponent(EmptyComponent); + let node = fixture.debugElement; + let superParentName = ''; + // Traverse upwards, all the way to #document, which is not a + // Node.ELEMENT_NODE + while (node) { + superParentName = node.name; + node = node.parent !; + } + expect(superParentName).not.toEqual(''); + }); }