UPDATE: Adds web app (#79)
Things missing: * Browse mode * Front end tests * Storybook
This commit is contained in:
committed by
GitHub
parent
083548608e
commit
dc23a7f29c
48
base/src/test/user_model/test_on_paste_styles.rs
Normal file
48
base/src/test/user_model/test_on_paste_styles.rs
Normal file
@@ -0,0 +1,48 @@
|
||||
#![allow(clippy::unwrap_used)]
|
||||
|
||||
use crate::test::util::new_empty_model;
|
||||
use crate::types::Fill;
|
||||
use crate::UserModel;
|
||||
|
||||
#[test]
|
||||
fn simple_pasting() {
|
||||
let model = new_empty_model();
|
||||
let mut model = UserModel::from_model(model);
|
||||
let mut style = model.get_cell_style(0, 1, 1).unwrap();
|
||||
style.fill = Fill {
|
||||
pattern_type: "solid".to_string(),
|
||||
fg_color: Some("#FF5577".to_string()),
|
||||
bg_color: Some("#33FF44".to_string()),
|
||||
};
|
||||
let styles = vec![vec![style.clone()]];
|
||||
|
||||
model.set_selected_cell(5, 4).unwrap();
|
||||
model.set_selected_range(5, 4, 10, 9).unwrap();
|
||||
model.on_paste_styles(&styles).unwrap();
|
||||
|
||||
for row in 5..10 {
|
||||
for column in 4..9 {
|
||||
let cell_style = model.get_cell_style(0, row, column).unwrap();
|
||||
assert_eq!(cell_style, style);
|
||||
}
|
||||
}
|
||||
|
||||
model.undo().unwrap();
|
||||
let base_style = model.get_cell_style(0, 100, 100).unwrap();
|
||||
|
||||
for row in 5..10 {
|
||||
for column in 4..9 {
|
||||
let cell_style = model.get_cell_style(0, row, column).unwrap();
|
||||
assert_eq!(cell_style, base_style);
|
||||
}
|
||||
}
|
||||
|
||||
model.redo().unwrap();
|
||||
|
||||
for row in 5..10 {
|
||||
for column in 4..9 {
|
||||
let cell_style = model.get_cell_style(0, row, column).unwrap();
|
||||
assert_eq!(cell_style, style);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user