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,