Skip to content

Commit 52fe9fd

Browse files
committed
test(angular): resolve flaky explorer tests and fix text renderer stringification
- Statically import and provide @a2ui/markdown-it in test_utils.ts to avoid dynamic import chunk loading latency under Karma headless browsers in resource-constrained CI. - Ensure TextComponent (v0.9) converts the text prop value to a string before passing to the Markdown renderer, preventing validation failures on numeric bound properties.
1 parent 811a3a2 commit 52fe9fd

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

renderers/angular/a2ui_explorer/src/app/tests/utils/test_utils.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {DemoComponent} from '../../demo.component';
1919
import {EXAMPLES_V08, EXAMPLES_V09} from '../../generated/examples-bundle';
2020
import {provideMarkdownRenderer} from '../../../../../src/v0_9/core/markdown';
2121
import {A2UI_VERSION, Version} from '../../types';
22+
import {renderMarkdown} from '@a2ui/markdown-it';
2223

2324
export {Version};
2425

@@ -30,7 +31,9 @@ export async function loadExample(exampleName: string, version: Version = Versio
3031
await TestBed.configureTestingModule({
3132
imports: [DemoComponent],
3233
providers: [
33-
provideMarkdownRenderer(),
34+
provideMarkdownRenderer(async (markdown, options) =>
35+
renderMarkdown(markdown, options as any),
36+
),
3437
{
3538
provide: A2UI_VERSION,
3639
useValue: version,

renderers/angular/src/v0_9/catalog/basic/text.component.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,10 @@ export class TextComponent extends BasicCatalogComponent<typeof TextApi> {
108108
private markdownRenderer = inject(MarkdownRenderer);
109109

110110
readonly variant = computed(() => this.props()['variant']?.value() || 'body');
111-
readonly text = computed(() => this.props()['text']?.value() || '');
111+
readonly text = computed(() => {
112+
const val = this.props()['text']?.value();
113+
return val == null ? '' : String(val);
114+
});
112115

113116
resolvedText = signal<string>('');
114117
private renderRequestId = 0;

0 commit comments

Comments
 (0)