test(design): 两族禁用 α 的令牌层钉值(硬编码期望,去自指)

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。
This commit is contained in:
AskaEth committed 2026-11-02 13:12:16 +08:00
1 parent da1fe3aa4f
commit 7627462593
1 file changed
+29
+29
View File
@@ -127,4 +127,33 @@ mod tests {
assert!(ratio > 1.5, "禁用态对比度过低:{ratio}");
assert!(ratio < 4.5, "禁用态不该和正文一样醒目:{ratio}");
}
/// 两族 α 的**令牌层钉值**(M86):期望值硬编码,不从被测常量取——否则改坏常量也照样绿。
///
/// 出处(AAR `material3-android-1.4.0` 的 `<clinit>`):
/// `*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 要防的回归"
);
}
}