test(ivy): test case-insensitive selectors (#32548)
Adds two acceptance tests to show a current difference in behavior between Ivy and VE. A directive with a selector `.Titledir` matches an element with `class="titleDir"` in VE but not in Ivy. Same thing for an attribute value. PR Close #32548
This commit is contained in:
parent
a1beba4b6e
commit
8a6e54a06d
|
@ -172,6 +172,23 @@ describe('directives', () => {
|
||||||
expect(nodesWithDirective.length).toBe(1);
|
expect(nodesWithDirective.length).toBe(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should match classes to directive selectors without case sensitivity', () => {
|
||||||
|
@Directive({selector: '.Titledir'})
|
||||||
|
class TitleClassDirective {
|
||||||
|
}
|
||||||
|
|
||||||
|
TestBed.configureTestingModule({declarations: [TestComponent, TitleClassDirective]});
|
||||||
|
TestBed.overrideTemplate(TestComponent, `
|
||||||
|
<div class="titleDir" [id]="someId"></div>
|
||||||
|
`);
|
||||||
|
|
||||||
|
const fixture = TestBed.createComponent(TestComponent);
|
||||||
|
const nodesWithDirective =
|
||||||
|
fixture.debugElement.queryAllNodes(By.directive(TitleClassDirective));
|
||||||
|
|
||||||
|
expect(nodesWithDirective.length).toBe(1);
|
||||||
|
});
|
||||||
|
|
||||||
it('should NOT match classes to directive selectors', () => {
|
it('should NOT match classes to directive selectors', () => {
|
||||||
TestBed.configureTestingModule({declarations: [TestComponent, TitleDirective]});
|
TestBed.configureTestingModule({declarations: [TestComponent, TitleDirective]});
|
||||||
TestBed.overrideTemplate(TestComponent, `
|
TestBed.overrideTemplate(TestComponent, `
|
||||||
|
@ -184,6 +201,23 @@ describe('directives', () => {
|
||||||
expect(nodesWithDirective.length).toBe(0);
|
expect(nodesWithDirective.length).toBe(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should match attributes to directive selectors without case sensitivity', () => {
|
||||||
|
@Directive({selector: '[title=Titledir]'})
|
||||||
|
class TitleAttributeDirective {
|
||||||
|
}
|
||||||
|
|
||||||
|
TestBed.configureTestingModule({declarations: [TestComponent, TitleAttributeDirective]});
|
||||||
|
TestBed.overrideTemplate(TestComponent, `
|
||||||
|
<div title="titleDir" [id]="someId"></div>
|
||||||
|
`);
|
||||||
|
|
||||||
|
const fixture = TestBed.createComponent(TestComponent);
|
||||||
|
const nodesWithDirective =
|
||||||
|
fixture.debugElement.queryAllNodes(By.directive(TitleAttributeDirective));
|
||||||
|
|
||||||
|
expect(nodesWithDirective.length).toBe(1);
|
||||||
|
});
|
||||||
|
|
||||||
it('should match directives with attribute selectors on outputs', () => {
|
it('should match directives with attribute selectors on outputs', () => {
|
||||||
@Directive({selector: '[out]'})
|
@Directive({selector: '[out]'})
|
||||||
class TestDir {
|
class TestDir {
|
||||||
|
|
Loading…
Reference in New Issue