Restrict line alignment to schema values

This commit is contained in:
Harrison Booth committed 2026-10-30 23:00:20 -05:00
1 parent 727b682d17
commit 4408ff6153
2 files changed
+3 -8

No files matched your search

-3
View File
@@ -238,7 +238,6 @@ pub enum LineAlign {
#[default]
Center,
Inside,
Outside,
}
impl LineAlign {
@@ -246,7 +245,6 @@ impl LineAlign {
match self {
LineAlign::Center => "ctr",
LineAlign::Inside => "in",
LineAlign::Outside => "out",
}
}
@@ -254,7 +252,6 @@ impl LineAlign {
match value {
"ctr" => Some(LineAlign::Center),
"in" => Some(LineAlign::Inside),
"out" => Some(LineAlign::Outside),
_ => None,
}
}
+3 -5
View File
@@ -493,16 +493,14 @@ fn line_alignment_survives_two_pptx_round_trips() {
let mut p = Presentation::default();
let mut inside = shape(&mut p, "Inset line", 20.0, 20.0, 100.0, 100.0);
inside.line = Some(Line { align: Some(deckcraft_model::style::LineAlign::Inside), ..Default::default() });
let mut outside = shape(&mut p, "Outset line", 140.0, 20.0, 100.0, 100.0);
outside.line = Some(Line { align: Some(deckcraft_model::style::LineAlign::Outside), ..Default::default() });
let mut centered = shape(&mut p, "Centered line", 260.0, 20.0, 100.0, 100.0);
let mut centered = shape(&mut p, "Centered line", 140.0, 20.0, 100.0, 100.0);
centered.line = Some(Line { align: Some(deckcraft_model::style::LineAlign::Center), ..Default::default() });
Arc::make_mut(&mut p.slides[0]).shapes.extend([inside, outside, centered]);
Arc::make_mut(&mut p.slides[0]).shapes.extend([inside, centered]);
let q = round(&round(&p));
assert_eq!(by_name(&q.slides[0], "Inset line").line.as_ref().and_then(|line| line.align), Some(deckcraft_model::style::LineAlign::Inside));
assert_eq!(by_name(&q.slides[0], "Outset line").line.as_ref().and_then(|line| line.align), Some(deckcraft_model::style::LineAlign::Outside));
assert_eq!(by_name(&q.slides[0], "Centered line").line.as_ref().and_then(|line| line.align), Some(deckcraft_model::style::LineAlign::Center));
assert_eq!(deckcraft_model::style::LineAlign::from_xml("out"), None);
}
#[test]