fix(canvas): 创作参考内容 - 修复图片预览并将模型价格移至发送按钮
This commit is contained in:
@@ -9,7 +9,7 @@ function compactSource(source: string) {
|
||||
}
|
||||
|
||||
describe("creation library button", () => {
|
||||
test("places a library control beside the generation mode picker", () => {
|
||||
test("keeps library selection in the reference area instead of the bottom dock", () => {
|
||||
const source = readFileSync(resolve(import.meta.dir, "../src/pages/create/index.tsx"), "utf8");
|
||||
const dockStart = source.indexOf('<footer className="creation-chat-dock">');
|
||||
const dockEnd = source.indexOf("</footer>", dockStart);
|
||||
@@ -19,13 +19,14 @@ describe("creation library button", () => {
|
||||
const dockSource = compactSource(source.slice(dockStart, dockEnd));
|
||||
const modePickerIndex = dockSource.indexOf("<ModePicker mode={props.mode}");
|
||||
const attachmentIndex = dockSource.indexOf('aria-label="从本机上传附件"');
|
||||
const libraryIndex = dockSource.indexOf('aria-label="打开素材库选择参考内容"');
|
||||
|
||||
expect(modePickerIndex).toBeGreaterThanOrEqual(0);
|
||||
expect(attachmentIndex).toBeGreaterThan(modePickerIndex);
|
||||
expect(libraryIndex).toBeGreaterThan(attachmentIndex);
|
||||
expect(dockSource).toContain("onClick={props.onOpenLibrary}");
|
||||
expect(dockSource).toContain("disabled={interactionBusy || !referencesSupported}");
|
||||
expect(dockSource).not.toContain('aria-label="打开素材库选择参考内容"');
|
||||
expect(source).toContain("onClick={props.onOpenLibrary}");
|
||||
expect(source).toContain("creation-reference-add-button");
|
||||
expect(source).toContain('showSelectedPrice={false} variant="creation"');
|
||||
expect(source).toContain("canvas-node-composer-submit-cost");
|
||||
});
|
||||
|
||||
test("uploads from the library without adding a reference before confirmation", () => {
|
||||
@@ -65,7 +66,9 @@ describe("creation library button", () => {
|
||||
expect(source).toContain('axis="x"');
|
||||
expect(source).toContain("values={visibleAttachments}");
|
||||
expect(source).toContain("onReorder={reorderVisibleAttachments}");
|
||||
expect(source).toContain('className="creation-reference-card-remove" onPointerDownCapture={(event) => event.stopPropagation()}');
|
||||
expect(source).toContain('className="creation-reference-card-remove"');
|
||||
expect(source).toContain("onPointerDownCapture");
|
||||
expect(source).toContain("event.stopPropagation()");
|
||||
expect(source).toContain("<Reorder.Item");
|
||||
expect(source).toContain('layout="position"');
|
||||
expect(source).toContain("isExpanded");
|
||||
@@ -99,6 +102,18 @@ describe("creation library button", () => {
|
||||
expect(styles).toContain("@media (hover: none)");
|
||||
expect(styles).toContain(".creation-reference-card-remove { opacity: 1; }");
|
||||
expect(styles).not.toContain(".creation-reference-track:not(.is-expanded) .creation-reference-stack-card:nth-child(n+5) { display: block; }");
|
||||
expect(source).toContain("isExpanded: true");
|
||||
expect(source).toContain("else if (!hadAttachments) setReferencePanelExpanded(true)");
|
||||
expect(styles).toContain("creation-reference-filter-tabs button.is-active::after");
|
||||
});
|
||||
|
||||
test("resolves remote asset images from their stable resource key", () => {
|
||||
const assets = readFileSync(resolve(import.meta.dir, "../src/pages/create/creation-assets.ts"), "utf8");
|
||||
const createSource = readFileSync(resolve(import.meta.dir, "../src/pages/create/index.tsx"), "utf8");
|
||||
|
||||
expect(assets).toContain("resolveResourceUrl(asset.data.storageKey");
|
||||
expect(createSource).toContain("<CachedResourceImage storageKey={item.storageKey}");
|
||||
expect(createSource).toContain("resolveResourceUrl(item.storageKey, item.previewUrl)");
|
||||
});
|
||||
|
||||
test("首个、中间和末尾参考内容都按稳定 id 独立删除并保留顺序", () => {
|
||||
|
||||
Reference in New Issue
Block a user