补充径向填充前后端一致性测试
Project CI / Frontend tests (pull_request) Successful in 4m59s
Project CI / Repository checks (pull_request) Successful in 3m6s
Project CI / Backend tests (pull_request) Successful in 7m35s
Project CI / Native shell tests (pull_request) Failing after 5m52s

覆盖 Radial90 四个角点的顺时针与逆时针部分填充

锁定编辑器预览与 Rust 导出共享起始角约定
This commit is contained in:
2026-09-01 20:31:01 +08:00
parent a63a477a6b
commit 35062d4449
@@ -124,7 +124,7 @@ fn fill_clip_path(method: &FillMethod, amount: f32) -> Option<String> {
#[cfg(test)]
mod tests {
use super::{fill_clip_path, FillMethod, Radial180Origin, Radial360Origin};
use super::{fill_clip_path, FillMethod, Radial180Origin, Radial360Origin, Radial90Origin};
#[test]
fn clockwise_radial_180_and_360_start_ninety_degrees_before_origin() {
@@ -160,6 +160,36 @@ mod tests {
.unwrap();
assert!(radial_180.contains("from -90deg"));
}
#[test]
fn radial_90_matches_preview_for_all_origins_and_directions() {
let cases = [
(Radial90Origin::TopLeft, 0.0),
(Radial90Origin::TopRight, 90.0),
(Radial90Origin::BottomRight, 180.0),
(Radial90Origin::BottomLeft, 270.0),
];
for (origin, angle) in cases {
let clockwise = fill_clip_path(
&FillMethod::Radial90 {
origin,
clockwise: true,
},
0.5,
)
.unwrap();
let counter_clockwise = fill_clip_path(
&FillMethod::Radial90 {
origin,
clockwise: false,
},
0.5,
)
.unwrap();
assert!(clockwise.contains(&format!("from {}deg", angle - 90.0)));
assert!(counter_clockwise.contains(&format!("from {}deg", angle - 45.0)));
}
}
}
fn conic_mask(origin: f32, clockwise: bool, amount: f32, max_sweep: f32) -> String {