From ffa93309e2df27e8bebba5cfb9f1aa87fc47813c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Hatcher?= Date: Thu, 24 Oct 2024 08:15:40 +0200 Subject: [PATCH] FIX: Renaming a sheet with the same name doesn't do anything Fixes #103 --- base/src/test/user_model/test_rename_sheet.rs | 7 +++++++ base/src/user_model/common.rs | 3 +++ 2 files changed, 10 insertions(+) diff --git a/base/src/test/user_model/test_rename_sheet.rs b/base/src/test/user_model/test_rename_sheet.rs index 841d41d..8152b91 100644 --- a/base/src/test/user_model/test_rename_sheet.rs +++ b/base/src/test/user_model/test_rename_sheet.rs @@ -9,6 +9,13 @@ fn basic_rename() { assert_eq!(model.get_worksheets_properties()[0].name, "NewSheet"); } +#[test] +fn rename_with_same_name() { + let mut model = UserModel::new_empty("model", "en", "UTC").unwrap(); + model.rename_sheet(0, "Sheet1").unwrap(); + assert_eq!(model.get_worksheets_properties()[0].name, "Sheet1"); +} + #[test] fn undo_redo() { 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 996c393..76dcf86 100644 --- a/base/src/user_model/common.rs +++ b/base/src/user_model/common.rs @@ -457,6 +457,9 @@ impl UserModel { /// * [Model::rename_sheet_by_index] pub fn rename_sheet(&mut self, sheet: u32, new_name: &str) -> Result<(), String> { let old_value = self.model.workbook.worksheet(sheet)?.name.clone(); + if old_value == new_name { + return Ok(()); + } self.model.rename_sheet_by_index(sheet, new_name)?; self.push_diff_list(vec![Diff::RenameSheet { index: sheet,