mirror of
https://github.com/zoriya/v10.git
synced 2026-08-06 06:07:56 +00:00
fix(site): resolve aliased part descriptions in api docs (#518)
This commit is contained in:
@@ -24,9 +24,9 @@ describe('extractParts', () => {
|
||||
const result = extractParts('test.ts', program);
|
||||
|
||||
expect(result).toEqual([
|
||||
{ name: 'Group', source: './time-group' },
|
||||
{ name: 'Separator', source: './time-separator' },
|
||||
{ name: 'Value', source: './time-value' },
|
||||
{ name: 'Group', localName: 'Group', source: './time-group' },
|
||||
{ name: 'Separator', localName: 'Separator', source: './time-separator' },
|
||||
{ name: 'Value', localName: 'Value', source: './time-value' },
|
||||
]);
|
||||
});
|
||||
|
||||
@@ -38,7 +38,7 @@ describe('extractParts', () => {
|
||||
const program = createTestProgram(code);
|
||||
const result = extractParts('test.ts', program);
|
||||
|
||||
expect(result).toEqual([{ name: 'Group', source: './time-group' }]);
|
||||
expect(result).toEqual([{ name: 'Group', localName: 'Group', source: './time-group' }]);
|
||||
});
|
||||
|
||||
it('returns empty array for file with no exports', () => {
|
||||
@@ -57,8 +57,8 @@ describe('extractParts', () => {
|
||||
const result = extractParts('test.ts', program);
|
||||
|
||||
expect(result).toEqual([
|
||||
{ name: 'Foo', source: './source' },
|
||||
{ name: 'Bar', source: './source' },
|
||||
{ name: 'Foo', localName: 'Foo', source: './source' },
|
||||
{ name: 'Bar', localName: 'Bar', source: './source' },
|
||||
]);
|
||||
});
|
||||
|
||||
@@ -69,7 +69,17 @@ describe('extractParts', () => {
|
||||
const program = createTestProgram(code);
|
||||
const result = extractParts('test.ts', program);
|
||||
|
||||
expect(result).toEqual([{ name: 'Value', source: './time-value' }]);
|
||||
expect(result).toEqual([{ name: 'Value', localName: 'Value', source: './time-value' }]);
|
||||
});
|
||||
|
||||
it('captures local symbol name for aliased exports', () => {
|
||||
const code = `
|
||||
export { ControlsRoot as Root, type ControlsRootProps as RootProps } from './controls-root';
|
||||
`;
|
||||
const program = createTestProgram(code);
|
||||
const result = extractParts('test.ts', program);
|
||||
|
||||
expect(result).toEqual([{ name: 'Root', localName: 'ControlsRoot', source: './controls-root' }]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -110,6 +120,24 @@ describe('extractPartDescription', () => {
|
||||
expect(result).toBe('Container for composed time displays.');
|
||||
});
|
||||
|
||||
it('extracts JSDoc description from a local (non-aliased) symbol name', () => {
|
||||
const program = createTestProgram('');
|
||||
mockParseFromProgram.mockReturnValue({
|
||||
exports: [
|
||||
{
|
||||
name: 'ControlsRoot',
|
||||
documentation: {
|
||||
description: 'Root container for player controls.',
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
const result = extractPartDescription('test.tsx', program, 'ControlsRoot');
|
||||
|
||||
expect(result).toBe('Root container for player controls.');
|
||||
});
|
||||
|
||||
it('returns undefined when export is not found', () => {
|
||||
const program = createTestProgram('');
|
||||
mockParseFromProgram.mockReturnValue({
|
||||
|
||||
Reference in New Issue
Block a user