fix(ivy): debug element should support components with ViewContainerRef (#29534)

PR Close #29534
This commit is contained in:
Marc Laval 2019-03-27 10:48:45 +01:00 committed by Jason Aden
parent 22b89ea58a
commit 50f7ab2a06
2 changed files with 15 additions and 3 deletions

View File

@ -403,9 +403,8 @@ function _queryAllR3(
elementsOnly: boolean) {
const context = loadLContext(parentElement.nativeNode) !;
const parentTNode = context.lView[TVIEW].data[context.nodeIndex] as TNode;
// This the fixture's debug element, so this is always a component view.
const lView = context.lView[parentTNode.index];
const tNode = lView[TVIEW].firstChild;
const lView = getComponentViewByIndex(parentTNode.index, context.lView);
const tNode = lView[TVIEW].firstChild !;
_queryNodeChildrenR3(tNode, lView, predicate, matches, elementsOnly);
}

View File

@ -190,6 +190,11 @@ class HostClassBindingCmp {
hostClasses = 'class-one class-two';
}
@Component({selector: 'test-cmpt-vcref', template: `<div></div>`})
class TestCmptWithViewContainerRef {
constructor(private vcref: ViewContainerRef) {}
}
{
describe('debug element', () => {
let fixture: ComponentFixture<any>;
@ -211,6 +216,7 @@ class HostClassBindingCmp {
BankAccount,
TestCmpt,
HostClassBindingCmp,
TestCmptWithViewContainerRef,
SimpleContentComp,
],
providers: [Logger],
@ -631,5 +637,12 @@ class HostClassBindingCmp {
getDOM().remove(content);
});
it('should support components with ViewContainerRef', () => {
fixture = TestBed.createComponent(TestCmptWithViewContainerRef);
const divEl = fixture.debugElement.query(By.css('div'));
expect(divEl).not.toBeNull();
});
});
}