镜像自地址
https://github.com/lhly/cloud-drive-renamer.git
已同步 2026-10-20 21:57:47 +08:00
fix: precise truncation assertions
这个提交包含在:
父节点
702bf0def3
当前提交
dc7b0addf6
@ -275,6 +275,12 @@ export class VirtualPreviewList extends LitElement {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.old-name.old-name-secondary {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
.new-name {
|
.new-name {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: var(--cdr-text, #262626);
|
color: var(--cdr-text, #262626);
|
||||||
@ -287,7 +293,8 @@ export class VirtualPreviewList extends LitElement {
|
|||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.new-name-text {
|
.new-name-text,
|
||||||
|
.new-name.new-name-primary .new-name-text {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|||||||
@ -150,7 +150,7 @@ describe('VirtualPreviewList pending preview mapping', () => {
|
|||||||
element.remove();
|
element.remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('locks preview-item/preview-content structure with secondary/primary name classes and truncation styles', async () => {
|
it('locks preview-item structure with semantic classes and target-specific truncation rules', async () => {
|
||||||
const element = new VirtualPreviewList();
|
const element = new VirtualPreviewList();
|
||||||
element.items = [
|
element.items = [
|
||||||
{
|
{
|
||||||
@ -170,25 +170,39 @@ describe('VirtualPreviewList pending preview mapping', () => {
|
|||||||
document.body.appendChild(element);
|
document.body.appendChild(element);
|
||||||
await element.updateComplete;
|
await element.updateComplete;
|
||||||
|
|
||||||
const previewItem = element.shadowRoot?.querySelector('.preview-item[data-preview-item="true"]');
|
|
||||||
|
const previewItem = element.shadowRoot?.querySelector('.preview-item');
|
||||||
expect(previewItem).toBeTruthy();
|
expect(previewItem).toBeTruthy();
|
||||||
|
|
||||||
const previewContent = previewItem?.querySelector('.preview-content[data-preview-content="true"]');
|
const previewContent = previewItem?.querySelector('.preview-content');
|
||||||
expect(previewContent).toBeTruthy();
|
expect(previewContent).toBeTruthy();
|
||||||
|
|
||||||
const oldName = previewContent?.querySelector('.old-name.old-name-secondary');
|
const oldName = previewContent?.querySelector('.old-name.old-name-secondary');
|
||||||
expect(oldName).toBeTruthy();
|
expect(oldName).toBeTruthy();
|
||||||
|
|
||||||
const newName = previewContent?.querySelector('.new-name.new-name-primary');
|
const newNameText = previewContent?.querySelector('.new-name-text');
|
||||||
expect(newName).toBeTruthy();
|
|
||||||
const newNameText = newName?.querySelector('.new-name-text');
|
|
||||||
expect(newNameText).toBeTruthy();
|
expect(newNameText).toBeTruthy();
|
||||||
|
|
||||||
const styleContent = Array.from(element.shadowRoot?.querySelectorAll('style') ?? [])
|
const styleContent = Array.from(element.shadowRoot?.querySelectorAll('style') ?? [])
|
||||||
.map((style) => style.textContent ?? '')
|
.map((style) => style.textContent ?? '')
|
||||||
.join(' ');
|
.join(' ');
|
||||||
expect(styleContent).toContain('overflow: hidden');
|
const extractBlock = (selector: string) => {
|
||||||
expect(styleContent).toContain('text-overflow: ellipsis');
|
const start = styleContent.indexOf(selector);
|
||||||
expect(styleContent).toContain('white-space: nowrap');
|
expect(start, `missing ${selector}`).toBeGreaterThan(-1);
|
||||||
|
const braceOpen = styleContent.indexOf('{', start);
|
||||||
|
const braceClose = styleContent.indexOf('}', braceOpen);
|
||||||
|
return styleContent.slice(braceOpen + 1, braceClose);
|
||||||
|
};
|
||||||
|
|
||||||
|
const oldNameDeclarations = extractBlock('.old-name.old-name-secondary');
|
||||||
|
expect(oldNameDeclarations).toContain('overflow: hidden');
|
||||||
|
expect(oldNameDeclarations).toContain('text-overflow: ellipsis');
|
||||||
|
expect(oldNameDeclarations).toContain('white-space: nowrap');
|
||||||
|
|
||||||
|
const newNameDeclarations = extractBlock('.new-name.new-name-primary .new-name-text');
|
||||||
|
expect(newNameDeclarations).toContain('overflow: hidden');
|
||||||
|
expect(newNameDeclarations).toContain('text-overflow: ellipsis');
|
||||||
|
expect(newNameDeclarations).toContain('white-space: nowrap');
|
||||||
|
|
||||||
element.remove();
|
element.remove();
|
||||||
});
|
});
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户