Drag canvas cards from their whole surface outside explicit edit mode

This commit is contained in:
2026-10-30 02:03:34 +08:00
parent 922c7bd0d0
commit d050e06870
3 changed files with 9 additions and 7 deletions
@@ -23,14 +23,14 @@ const fs=require('node:fs/promises');
const z=await page.locator('[class*=world]').evaluate(el=>new DOMMatrix(getComputedStyle(el).transform).a);
for(const id of ['brief','reference']){
const before=(await snapshot()).cards.find(c=>c.id===id);
await drag(node(id).locator('[title="拖动手柄 · 移动工具"]'),45,25);
await drag(node(id).locator(':scope > div').nth(1),45,25);
const after=(await snapshot()).cards.find(c=>c.id===id);close(after.x-before.x,45/z);close(after.y-before.y,25/z);
}
}
const before=(await snapshot()).cards.find(c=>c.id==='brief');
await node('brief').locator('textarea').fill('真实工具内编辑 · 输入不能移动节点');
assert.equal(await node('brief').locator('textarea').getAttribute('readonly'),'');await node('brief').getByRole('button',{name:/^编辑 /}).click();await node('brief').locator('textarea').fill('真实工具内编辑 · 输入不能移动节点');
const edited=(await snapshot()).cards.find(c=>c.id==='brief');assert.equal(edited.x,before.x);assert.equal(edited.y,before.y);
const resize=node('brief').getByRole('button',{name:/调整/});await drag(resize,60,40);
await drag(node('brief').locator('textarea'),20,10);const inEdit=(await snapshot()).cards.find(c=>c.id==='brief');assert.equal(inEdit.x,edited.x);assert.equal(inEdit.y,edited.y);await node('brief').getByRole('button',{name:/^完成编辑 /}).click();const resize=node('brief').getByRole('button',{name:/调整/});await drag(resize,60,40);
assert.ok((await snapshot()).cards.find(c=>c.id==='brief').width>320);
await page.getByRole('button',{name:'撤销',exact:true}).click();assert.equal((await snapshot()).cards.find(c=>c.id==='brief').width,undefined);
await page.getByRole('button',{name:'重做',exact:true}).click();assert.ok((await snapshot()).cards.find(c=>c.id==='brief').width>320);