156 lines
4.0 KiB
Rust
156 lines
4.0 KiB
Rust
#![allow(clippy::unwrap_used)]
|
|
|
|
use crate::{expressions::types::Area, UserModel};
|
|
|
|
#[test]
|
|
fn basic() {
|
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
|
model.set_user_input(0, 1, 1, "100$").unwrap();
|
|
model
|
|
.range_clear_contents(&Area {
|
|
sheet: 0,
|
|
row: 1,
|
|
column: 1,
|
|
width: 1,
|
|
height: 1,
|
|
})
|
|
.unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
model.undo().unwrap();
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 1),
|
|
Ok("100$".to_string())
|
|
);
|
|
model.redo().unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
|
|
model.set_user_input(0, 1, 1, "300").unwrap();
|
|
// clear contents keeps the formatting
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 1),
|
|
Ok("300$".to_string())
|
|
);
|
|
|
|
model
|
|
.range_clear_all(&Area {
|
|
sheet: 0,
|
|
row: 1,
|
|
column: 1,
|
|
width: 1,
|
|
height: 1,
|
|
})
|
|
.unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
model.undo().unwrap();
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 1),
|
|
Ok("300$".to_string())
|
|
);
|
|
model.redo().unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
model.set_user_input(0, 1, 1, "400").unwrap();
|
|
// clear contents keeps the formatting
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 1),
|
|
Ok("400".to_string())
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn clear_empty_cell() {
|
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
|
model
|
|
.range_clear_contents(&Area {
|
|
sheet: 0,
|
|
row: 1,
|
|
column: 1,
|
|
width: 1,
|
|
height: 1,
|
|
})
|
|
.unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
model.undo().unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
}
|
|
|
|
#[test]
|
|
fn clear_all_empty_cell() {
|
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
|
model
|
|
.range_clear_all(&Area {
|
|
sheet: 0,
|
|
row: 1,
|
|
column: 1,
|
|
width: 1,
|
|
height: 1,
|
|
})
|
|
.unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
model.undo().unwrap();
|
|
assert_eq!(model.get_formatted_cell_value(0, 1, 1), Ok("".to_string()));
|
|
}
|
|
|
|
#[test]
|
|
fn issue_454() {
|
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
|
model
|
|
.set_user_input(
|
|
0,
|
|
1,
|
|
1,
|
|
"Le presbytère n'a rien perdu de son charme, ni le jardin de son éclat.",
|
|
)
|
|
.unwrap();
|
|
model.set_user_input(0, 1, 2, "=ISTEXT(A1)").unwrap();
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 2),
|
|
Ok("TRUE".to_string())
|
|
);
|
|
model
|
|
.range_clear_contents(&Area {
|
|
sheet: 0,
|
|
row: 1,
|
|
column: 1,
|
|
width: 1,
|
|
height: 1,
|
|
})
|
|
.unwrap();
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 2),
|
|
Ok("FALSE".to_string())
|
|
);
|
|
model.undo().unwrap();
|
|
}
|
|
|
|
#[test]
|
|
fn issue_454b() {
|
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
|
model
|
|
.set_user_input(
|
|
0,
|
|
1,
|
|
1,
|
|
"Le presbytère n'a rien perdu de son charme, ni le jardin de son éclat.",
|
|
)
|
|
.unwrap();
|
|
model.set_user_input(0, 1, 2, "=ISTEXT(A1)").unwrap();
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 2),
|
|
Ok("TRUE".to_string())
|
|
);
|
|
model
|
|
.range_clear_all(&Area {
|
|
sheet: 0,
|
|
row: 1,
|
|
column: 1,
|
|
width: 1,
|
|
height: 1,
|
|
})
|
|
.unwrap();
|
|
assert_eq!(
|
|
model.get_formatted_cell_value(0, 1, 2),
|
|
Ok("FALSE".to_string())
|
|
);
|
|
model.undo().unwrap();
|
|
}
|