From 023ad5ad4d498346ed40269a1771edce714e1e95 Mon Sep 17 00:00:00 2001 From: Galina Edinakova Date: Tue, 29 Apr 2025 11:16:33 +0300 Subject: [PATCH 1/2] test(Highlight): Adding a test for activating non-existent group. --- .../text-highlight/text-highlight.directive.spec.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts index bce041f6c69..a219dc4029a 100644 --- a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts +++ b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts @@ -299,6 +299,17 @@ describe('IgxHighlight', () => { expect(() => component.highlight.activateIfNecessary()).not.toThrowError(); }); + it('Should not throw when attempting to activate a non-existing group.', () => { + const fix = TestBed.createComponent(HighlightLoremIpsumComponent); + fix.detectChanges(); + + const component: HighlightLoremIpsumComponent = fix.debugElement.componentInstance; + component.highlightText('a'); + component.groupName = 'test1'; + fix.detectChanges(); + + expect(() => component.highlight.activateIfNecessary()).not.toThrowError(); + }); }); @Component({ From 19cd911812e6a0e587f1b12b2fbe8b93115024e6 Mon Sep 17 00:00:00 2001 From: Galina Edinakova Date: Tue, 29 Apr 2025 11:19:39 +0300 Subject: [PATCH 2/2] fix(Highlight): Adding a check for undefined before activation. --- .../lib/directives/text-highlight/text-highlight.directive.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts index 23f5fcbf8b8..5407ca0d622 100644 --- a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts +++ b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts @@ -318,7 +318,7 @@ export class IgxTextHighlightDirective implements AfterViewInit, AfterViewChecke public activateIfNecessary(): void { const group = this.service.highlightGroupsMap.get(this.groupName); - if (group.index >= 0 && group.column === this.column && group.row === this.row && compareMaps(this.metadata, group.metadata)) { + if (group && group.index >= 0 && group.column === this.column && group.row === this.row && compareMaps(this.metadata, group.metadata)) { this.activate(group.index); } }