From 8cdb3b8c60f0aef9c4d1be5f4cd8464b42e96430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Hatcher?= Date: Wed, 6 Nov 2024 18:34:42 +0100 Subject: [PATCH] FIX: Removes ununsed borders code --- base/src/test/user_model/test_styles.rs | 289 +----------------------- base/src/user_model/common.rs | 47 +--- 2 files changed, 3 insertions(+), 333 deletions(-) diff --git a/base/src/test/user_model/test_styles.rs b/base/src/test/user_model/test_styles.rs index a6e5f93..7482f62 100644 --- a/base/src/test/user_model/test_styles.rs +++ b/base/src/test/user_model/test_styles.rs @@ -2,7 +2,7 @@ use crate::{ expressions::types::Area, - types::{Alignment, BorderItem, BorderStyle, HorizontalAlignment, VerticalAlignment}, + types::{Alignment, HorizontalAlignment, VerticalAlignment}, UserModel, }; @@ -229,157 +229,6 @@ fn basic_format() { assert_eq!(style.num_fmt, "$#,##0.0000"); } -#[test] -fn basic_borders() { - let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); - let range = Area { - sheet: 0, - row: 1, - column: 1, - width: 1, - height: 1, - }; - - model - .update_range_style(&range, "border.left", "thin,#F1F1F1") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::Thin, - color: Some("#F1F1F1".to_owned()), - }) - ); - - model - .update_range_style(&range, "border.left", "thin,") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::Thin, - color: None, - }) - ); - - model - .update_range_style(&range, "border.right", "dotted,#F1F1F2") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.right, - Some(BorderItem { - style: BorderStyle::Dotted, - color: Some("#F1F1F2".to_owned()), - }) - ); - - model - .update_range_style(&range, "border.top", "double,#F1F1F3") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.top, - Some(BorderItem { - style: BorderStyle::Double, - color: Some("#F1F1F3".to_owned()), - }) - ); - - model - .update_range_style(&range, "border.bottom", "medium,#F1F1F4") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.bottom, - Some(BorderItem { - style: BorderStyle::Medium, - color: Some("#F1F1F4".to_owned()), - }) - ); - - while model.can_undo() { - model.undo().unwrap(); - } - - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!(style.border.left, None); - assert_eq!(style.border.top, None); - assert_eq!(style.border.right, None); - assert_eq!(style.border.bottom, None); - - while model.can_redo() { - model.redo().unwrap(); - } - - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::Thin, - color: None, - }) - ); - assert_eq!( - style.border.right, - Some(BorderItem { - style: BorderStyle::Dotted, - color: Some("#F1F1F2".to_owned()), - }) - ); - assert_eq!( - style.border.top, - Some(BorderItem { - style: BorderStyle::Double, - color: Some("#F1F1F3".to_owned()), - }) - ); - assert_eq!( - style.border.bottom, - Some(BorderItem { - style: BorderStyle::Medium, - color: Some("#F1F1F4".to_owned()), - }) - ); - - let send_queue = model.flush_send_queue(); - - let mut model2 = UserModel::new_empty("model", "en", "UTC").unwrap(); - model2.apply_external_diffs(&send_queue).unwrap(); - - let style = model2.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::Thin, - color: None, - }) - ); - assert_eq!( - style.border.right, - Some(BorderItem { - style: BorderStyle::Dotted, - color: Some("#F1F1F2".to_owned()), - }) - ); - assert_eq!( - style.border.top, - Some(BorderItem { - style: BorderStyle::Double, - color: Some("#F1F1F3".to_owned()), - }) - ); - assert_eq!( - style.border.bottom, - Some(BorderItem { - style: BorderStyle::Medium, - color: Some("#F1F1F4".to_owned()), - }) - ); -} - #[test] fn basic_alignment() { let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); @@ -567,142 +416,6 @@ fn basic_wrap_text() { ); } -#[test] -fn more_basic_borders() { - let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); - let range = Area { - sheet: 0, - row: 1, - column: 1, - width: 1, - height: 1, - }; - - model - .update_range_style(&range, "border.left", "thick,#F1F1F1") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::Thick, - color: Some("#F1F1F1".to_owned()), - }) - ); - - model - .update_range_style(&range, "border.left", "slantDashDot,#F1F1F1") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::SlantDashDot, - color: Some("#F1F1F1".to_owned()), - }) - ); - - model - .update_range_style(&range, "border.left", "mediumDashDot,#F1F1F1") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::MediumDashDot, - color: Some("#F1F1F1".to_owned()), - }) - ); - - model - .update_range_style(&range, "border.left", "mediumDashDotDot,#F1F1F1") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::MediumDashDotDot, - color: Some("#F1F1F1".to_owned()), - }) - ); - - model - .update_range_style(&range, "border.left", "mediumDashed,#F1F1F1") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::MediumDashed, - color: Some("#F1F1F1".to_owned()), - }) - ); -} - -#[test] -fn border_errors() { - let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); - let range = Area { - sheet: 0, - row: 1, - column: 1, - width: 1, - height: 1, - }; - - assert_eq!( - model.update_range_style(&range, "border.lef", "thick,#F1F1F1"), - Err("Invalid style path: 'border.lef'.".to_string()) - ); - - assert_eq!( - model.update_range_style(&range, "border.left", "thic,#F1F1F1"), - Err("Invalid border style: 'thic'.".to_string()) - ); - - assert_eq!( - model.update_range_style(&range, "border.left", "thick,#F1F1F"), - Err("Invalid color: '#F1F1F'.".to_string()) - ); - - assert_eq!( - model.update_range_style(&range, "border.left", " "), - Err("Invalid border value: ' '.".to_string()) - ); - - assert_eq!( - model.update_range_style(&range, "border.left", "thick,#F1F1F1,thin"), - Err("Invalid border value: 'thick,#F1F1F1,thin'.".to_string()) - ); -} - -#[test] -fn empty_removes_border() { - let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); - let range = Area { - sheet: 0, - row: 1, - column: 1, - width: 1, - height: 1, - }; - model - .update_range_style(&range, "border.left", "mediumDashDotDot,#F1F1F1") - .unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!( - style.border.left, - Some(BorderItem { - style: BorderStyle::MediumDashDotDot, - color: Some("#F1F1F1".to_owned()), - }) - ); - - model.update_range_style(&range, "border.left", "").unwrap(); - let style = model.get_cell_style(0, 1, 1).unwrap(); - assert_eq!(style.border.left, None); -} - #[test] fn false_removes_value() { let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); diff --git a/base/src/user_model/common.rs b/base/src/user_model/common.rs index 5f22a37..57c12af 100644 --- a/base/src/user_model/common.rs +++ b/base/src/user_model/common.rs @@ -13,8 +13,8 @@ use crate::{ }, model::Model, types::{ - Alignment, BorderItem, BorderStyle, CellType, Col, HorizontalAlignment, SheetProperties, - Style, VerticalAlignment, + Alignment, BorderItem, CellType, Col, HorizontalAlignment, SheetProperties, Style, + VerticalAlignment, }, utils::is_valid_hex_color, }; @@ -103,37 +103,6 @@ fn color(value: &str) -> Result, String> { Ok(Some(value.to_owned())) } -fn border(value: &str) -> Result, String> { - if value.is_empty() { - return Ok(None); - } - let parts = value.split(','); - let values = parts.collect::>(); - match values[..] { - [border_style, color_str] => { - let style = match border_style { - "thin" => BorderStyle::Thin, - "medium" => BorderStyle::Medium, - "thick" => BorderStyle::Thick, - "double" => BorderStyle::Double, - "dotted" => BorderStyle::Dotted, - "slantDashDot" => BorderStyle::SlantDashDot, - "mediumDashed" => BorderStyle::MediumDashed, - "mediumDashDotDot" => BorderStyle::MediumDashDotDot, - "mediumDashDot" => BorderStyle::MediumDashDot, - _ => { - return Err(format!("Invalid border style: '{border_style}'.")); - } - }; - Ok(Some(BorderItem { - style, - color: color(color_str)?, - })) - } - _ => Err(format!("Invalid border value: '{value}'.")), - } -} - fn horizontal(value: &str) -> Result { match value { "center" => Ok(HorizontalAlignment::Center), @@ -1067,18 +1036,6 @@ impl UserModel { "num_fmt" => { value.clone_into(&mut style.num_fmt); } - "border.left" => { - style.border.left = border(value)?; - } - "border.right" => { - style.border.right = border(value)?; - } - "border.top" => { - style.border.top = border(value)?; - } - "border.bottom" => { - style.border.bottom = border(value)?; - } "alignment" => { if !value.is_empty() { return Err(format!("Alignment must be empty, but found: '{value}'."));