diff --git a/src/content/components/virtual-preview-list.ts b/src/content/components/virtual-preview-list.ts index 5d137ec..53f41e6 100644 --- a/src/content/components/virtual-preview-list.ts +++ b/src/content/components/virtual-preview-list.ts @@ -98,6 +98,9 @@ export class VirtualPreviewList extends LitElement { return html`
+
+ ${item.file.name} +
${item.newName} ${statusBadge} @@ -229,6 +232,15 @@ export class VirtualPreviewList extends LitElement { min-width: 0; } + .old-name { + font-size: 12px; + color: var(--cdr-text-secondary, #595959); + margin-bottom: 4px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .new-name { font-size: 14px; color: var(--cdr-text, #262626); diff --git a/tests/unit/virtual-preview-list.test.ts b/tests/unit/virtual-preview-list.test.ts new file mode 100644 index 0000000..0d08077 --- /dev/null +++ b/tests/unit/virtual-preview-list.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from 'vitest'; +import { VirtualPreviewList } from '../../src/content/components/virtual-preview-list'; + +describe('VirtualPreviewList pending preview mapping', () => { + it('renders original name and new name for a pending preview item', async () => { + const element = new VirtualPreviewList(); + element.items = [ + { + file: { + id: 'file-1', + name: 'old-episode.mkv', + ext: 'mkv', + size: 42, + mtime: Date.now(), + isDir: false, + }, + newName: 'new-episode.mkv', + conflict: false, + done: false, + }, + ]; + + document.body.appendChild(element); + await element.updateComplete; + + const textContent = element.shadowRoot?.textContent ?? ''; + expect(textContent).toContain('old-episode.mkv'); + expect(textContent).toContain('new-episode.mkv'); + + element.remove(); + }); +});