diff --git a/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.spec.ts b/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.spec.ts index 737f3538bf7..bc9dfa4bb52 100644 --- a/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.spec.ts +++ b/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.spec.ts @@ -112,6 +112,13 @@ describe('DocViewer', () => { expect(exampleViewer).not.toBeNull(); expect(exampleViewer.componentInstance.view()).toBe(CodeExampleViewMode.SNIPPET); + + const checkIcon = fixture.debugElement.query(By.directive(IconComponent)); + expect((checkIcon.nativeElement as HTMLElement).classList).toContain( + `material-symbols-outlined`, + ); + expect((checkIcon.nativeElement as HTMLElement).classList).toContain(`docs-check`); + expect(checkIcon.nativeElement.innerHTML).toBe('check'); }); it('should display example viewer in multi file mode when user clicks expand', async () => { diff --git a/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts b/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts index 3a33715c2a2..2a7e4104390 100644 --- a/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts +++ b/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts @@ -265,9 +265,12 @@ export class DocViewer implements OnChanges { } private loadIcons(element: HTMLElement): void { - element.querySelectorAll('docs-icon').forEach((iconsPlaceholder) => { - this.renderComponent(IconComponent, iconsPlaceholder as HTMLElement); - }); + // We need to make sure that we don't reload the icons in loadCopySourceCodeButtons + element + .querySelectorAll('docs-icon:not([docs-copy-source-code] docs-icon)') + .forEach((iconsPlaceholder) => { + this.renderComponent(IconComponent, iconsPlaceholder as HTMLElement); + }); } /**