Skip to content

Commit 0bdad6d

Browse files
committed
test(motion): 补三轨对齐切走再回判据
1 parent 3f99d52 commit 0bdad6d

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

‎app/src/views/session/SessionTriTrackView.align.test.tsx‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,26 @@ describe("A3 · 触发真的起了编排(方向 / 范围口径)与属性集
129129
});
130130
});
131131

132-
describe("A4 · 高亮落点的样式接缝(TriTrackAlign.css)", () => {
132+
describe("A4 · 反向的第二条路「切走再回」(R5.1 逐字)", () => {
133+
it("对齐后卸载(切走)⇒ 时间线被收尸;重挂(再回)⇒ 回错位位形、无高亮", async () => {
134+
const first = render(<SessionTriTrackView detail={detailOf()} />);
135+
expect(rails(), "前置用例有残留 ⇒ 下面的计数会被做假").toBe(0);
136+
await waitFor(() => expect(yOf(first.container, "screen")).toBe(8), WAIT);
137+
fireEvent.click(codeAt(first.container, MS));
138+
await waitFor(() => expect(rails(), "两条非参考轨各 1 条编排时间线").toBe(2), WAIT);
139+
expect(highlighted(first.container)).toHaveLength(3);
140+
141+
first.unmount(); // 切走:容器卸载惰性视图(`SessionViewHost` 的 H2 行为)
142+
expect(rails(), "切走后时间线仍在飞 ⇒ 卸载没有收尸").toBe(0);
143+
const again = render(<SessionTriTrackView detail={detailOf()} />);
144+
await waitFor(() => expect(yOf(again.container, "screen"), "重挂 ⇒ 起始态 = 错位(反向的第二条路)").toBe(8), WAIT);
145+
expect([yOf(again.container, "ocr")]).toEqual([-8]);
146+
expect(highlighted(again.container), "重挂后残留了共轴高亮").toEqual([]);
147+
expect(rails(), "重挂只物化静态位形 ⇒ 零编排时间线").toBe(0);
148+
});
149+
});
150+
151+
describe("A5 · 高亮落点的样式接缝(TriTrackAlign.css)", () => {
133152
it("选择器 = 修饰类 · 颜色只经 `var(--ed-link)` · **零** transition/animation/@media/z-index/色值字面量", () => {
134153
expect(CSS, "修饰类没有规则 ⇒ 「高亮」是空话").toContain(`.${COALIGNED_CLASS}`);
135154
expect(COALIGNED_CLASS, "高亮类必须是 `<基类>--<修饰>` 形状").toBe(`${ITEM_CLASS}--coaligned`);

0 commit comments

Comments
 (0)