From 4408ff6153fb78255c2ae3f86e4c85cd0e5e709c Mon Sep 17 00:00:00 2001 From: Harrison Booth <73434116+Harrison-Booth@users.noreply.github.com> Date: Fri, 30 Oct 2026 23:00:20 -0500 Subject: [PATCH] Restrict line alignment to schema values --- crates/model/src/style.rs | 3 --- crates/pptx/tests/it/roundtrip.rs | 8 +++----- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/crates/model/src/style.rs b/crates/model/src/style.rs index f3044419..85eb9b80 100644 --- a/crates/model/src/style.rs +++ b/crates/model/src/style.rs @@ -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, } } diff --git a/crates/pptx/tests/it/roundtrip.rs b/crates/pptx/tests/it/roundtrip.rs index e93807c2..b781bea5 100644 --- a/crates/pptx/tests/it/roundtrip.rs +++ b/crates/pptx/tests/it/roundtrip.rs @@ -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]