From 7627462593bdda7544e70cd72241fc976ec32c48 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Mon, 2 Nov 2026 11:32:24 +0800 Subject: [PATCH] =?UTF-8?q?test(design):=20=E4=B8=A4=E6=97=8F=E7=A6=81?= =?UTF-8?q?=E7=94=A8=20=CE=B1=20=E7=9A=84=E4=BB=A4=E7=89=8C=E5=B1=82?= =?UTF-8?q?=E9=92=89=E5=80=BC=EF=BC=88=E7=A1=AC=E7=BC=96=E7=A0=81=E6=9C=9F?= =?UTF-8?q?=E6=9C=9B=EF=BC=8C=E5=8E=BB=E8=87=AA=E6=8C=87=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit M86 r1 P2:app-iced 那条 surface_family 断言原本从被测常量算期望,改坏常量也绿。除了把它改成 硬编码,令牌层自己也钉一条(cargo test -p unlucky-design 就能红,不必等 app-iced 链接): DISABLED_CONTAINER_ALPHA == 0.10、DISABLED_SURFACE_ALPHA == 0.12、内容 0.38,且 surface > button。 --- crates/design/src/color/state.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/crates/design/src/color/state.rs b/crates/design/src/color/state.rs index 8130105..3791046 100644 --- a/crates/design/src/color/state.rs +++ b/crates/design/src/color/state.rs @@ -127,4 +127,33 @@ mod tests { assert!(ratio > 1.5, "禁用态对比度过低:{ratio}"); assert!(ratio < 4.5, "禁用态不该和正文一样醒目:{ratio}"); } + + /// 两族 α 的**令牌层钉值**(M86):期望值硬编码,不从被测常量取——否则改坏常量也照样绿。 + /// + /// 出处(AAR `material3-android-1.4.0` 的 ``): + /// `*ButtonTokens.DisabledContainerOpacity = 0.1f`(按钮族)与 + /// `AssistChipTokens.FlatDisabledOutlineOpacity` / `SliderTokens.DisabledInactiveTrackOpacity` / + /// `SwitchTokens.DisabledTrackOpacity = 0.12f`(面状控件族)。 + #[test] + fn disabled_alpha_classes_are_pinned_at_the_token_layer() { + const EXPECTED_BUTTON: f32 = 0.10; + const EXPECTED_SURFACE: f32 = 0.12; + const EXPECTED_CONTENT: f32 = 0.38; + let button = DISABLED_CONTAINER_ALPHA; + let surface = DISABLED_SURFACE_ALPHA; + let content = DISABLED_CONTENT_ALPHA; + assert_eq!( + button, EXPECTED_BUTTON, + "按钮族禁用容器 α 必须是官方 0.1f(*ButtonTokens.DisabledContainerOpacity)" + ); + assert_eq!( + surface, EXPECTED_SURFACE, + "面状控件族 α 必须是官方 0.12f(chip 描边 / slider 轨道 / switch 轨道)" + ); + assert_eq!(content, EXPECTED_CONTENT, "禁用内容 0.38f"); + assert!( + surface > button, + "两族必须可区分({surface} > {button});合成一个数就是 M86 要防的回归" + ); + } }