mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-31 05:56:55 -06:00
Restrict line alignment to schema values
This commit is contained in:
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user