committed by
Nicolás Hatcher Andrés
parent
3d951c5c50
commit
80273a88ec
@@ -5,13 +5,13 @@ use crate::{constants::DEFAULT_COLUMN_WIDTH, UserModel};
|
|||||||
#[test]
|
#[test]
|
||||||
fn add_undo_redo() {
|
fn add_undo_redo() {
|
||||||
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
model.set_user_input(1, 1, 1, "=1 + 1").unwrap();
|
model.set_user_input(1, 1, 1, "=1 + 1").unwrap();
|
||||||
model.set_user_input(1, 1, 2, "=A1*3").unwrap();
|
model.set_user_input(1, 1, 2, "=A1*3").unwrap();
|
||||||
model
|
model
|
||||||
.set_column_width(1, 5, 5.0 * DEFAULT_COLUMN_WIDTH)
|
.set_column_width(1, 5, 5.0 * DEFAULT_COLUMN_WIDTH)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
model.set_user_input(2, 1, 1, "=Sheet2!B1").unwrap();
|
model.set_user_input(2, 1, 1, "=Sheet2!B1").unwrap();
|
||||||
|
|
||||||
model.undo().unwrap();
|
model.undo().unwrap();
|
||||||
@@ -59,7 +59,7 @@ fn set_sheet_color() {
|
|||||||
#[test]
|
#[test]
|
||||||
fn new_sheet_propagates() {
|
fn new_sheet_propagates() {
|
||||||
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
|
|
||||||
let send_queue = model.flush_send_queue();
|
let send_queue = model.flush_send_queue();
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ fn new_sheet_propagates() {
|
|||||||
#[test]
|
#[test]
|
||||||
fn delete_sheet_propagates() {
|
fn delete_sheet_propagates() {
|
||||||
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
model.delete_sheet(0).unwrap();
|
model.delete_sheet(0).unwrap();
|
||||||
|
|
||||||
let send_queue = model.flush_send_queue();
|
let send_queue = model.flush_send_queue();
|
||||||
@@ -87,10 +87,18 @@ fn delete_sheet_propagates() {
|
|||||||
fn delete_last_sheet() {
|
fn delete_last_sheet() {
|
||||||
// Deleting the last sheet, selects the previous
|
// Deleting the last sheet, selects the previous
|
||||||
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
model.set_selected_sheet(2).unwrap();
|
model.set_selected_sheet(2).unwrap();
|
||||||
model.delete_sheet(2).unwrap();
|
model.delete_sheet(2).unwrap();
|
||||||
|
|
||||||
assert_eq!(model.get_selected_sheet(), 1);
|
assert_eq!(model.get_selected_sheet(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn new_sheet_selects_it() {
|
||||||
|
let mut model = UserModel::new_empty("model", "en", "UTC").unwrap();
|
||||||
|
assert_eq!(model.get_selected_sheet(), 0);
|
||||||
|
model.new_sheet().unwrap();
|
||||||
|
assert_eq!(model.get_selected_sheet(), 1);
|
||||||
|
}
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ fn queue_undo_redo_multiple() {
|
|||||||
#[test]
|
#[test]
|
||||||
fn new_sheet() {
|
fn new_sheet() {
|
||||||
let mut model1 = UserModel::from_model(new_empty_model());
|
let mut model1 = UserModel::from_model(new_empty_model());
|
||||||
model1.new_sheet();
|
model1.new_sheet().unwrap();
|
||||||
model1.set_user_input(0, 1, 1, "42").unwrap();
|
model1.set_user_input(0, 1, 1, "42").unwrap();
|
||||||
model1.set_user_input(1, 1, 1, "=Sheet1!A1*2").unwrap();
|
model1.set_user_input(1, 1, 1, "=Sheet1!A1*2").unwrap();
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use crate::UserModel;
|
|||||||
fn basic_tests() {
|
fn basic_tests() {
|
||||||
let model = new_empty_model();
|
let model = new_empty_model();
|
||||||
let mut model = UserModel::from_model(model);
|
let mut model = UserModel::from_model(model);
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
|
|
||||||
// default sheet has show_grid_lines = true
|
// default sheet has show_grid_lines = true
|
||||||
assert_eq!(model.get_show_grid_lines(0), Ok(true));
|
assert_eq!(model.get_show_grid_lines(0), Ok(true));
|
||||||
|
|||||||
@@ -65,13 +65,13 @@ fn set_the_range_does_not_set_the_cell() {
|
|||||||
fn add_new_sheet_and_back() {
|
fn add_new_sheet_and_back() {
|
||||||
let model = new_empty_model();
|
let model = new_empty_model();
|
||||||
let mut model = UserModel::from_model(model);
|
let mut model = UserModel::from_model(model);
|
||||||
model.new_sheet();
|
model.new_sheet().unwrap();
|
||||||
assert_eq!(model.get_selected_sheet(), 0);
|
assert_eq!(model.get_selected_sheet(), 1);
|
||||||
model.set_selected_cell(5, 4).unwrap();
|
model.set_selected_cell(5, 4).unwrap();
|
||||||
model.set_selected_sheet(1).unwrap();
|
|
||||||
assert_eq!(model.get_selected_cell(), (1, 1, 1));
|
|
||||||
model.set_selected_sheet(0).unwrap();
|
model.set_selected_sheet(0).unwrap();
|
||||||
assert_eq!(model.get_selected_cell(), (0, 5, 4));
|
assert_eq!(model.get_selected_cell(), (0, 1, 1));
|
||||||
|
model.set_selected_sheet(1).unwrap();
|
||||||
|
assert_eq!(model.get_selected_cell(), (1, 5, 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@@ -424,9 +424,11 @@ impl UserModel {
|
|||||||
///
|
///
|
||||||
/// See also:
|
/// See also:
|
||||||
/// * [Model::new_sheet]
|
/// * [Model::new_sheet]
|
||||||
pub fn new_sheet(&mut self) {
|
pub fn new_sheet(&mut self) -> Result<(), String> {
|
||||||
let (name, index) = self.model.new_sheet();
|
let (name, index) = self.model.new_sheet();
|
||||||
|
self.set_selected_sheet(index)?;
|
||||||
self.push_diff_list(vec![Diff::NewSheet { index, name }]);
|
self.push_diff_list(vec![Diff::NewSheet { index, name }]);
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Deletes sheet by index
|
/// Deletes sheet by index
|
||||||
|
|||||||
@@ -97,8 +97,8 @@ impl Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen(js_name = "newSheet")]
|
#[wasm_bindgen(js_name = "newSheet")]
|
||||||
pub fn new_sheet(&mut self) {
|
pub fn new_sheet(&mut self) -> Result<(), JsError> {
|
||||||
self.model.new_sheet()
|
self.model.new_sheet().map_err(to_js_error)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen(js_name = "deleteSheet")]
|
#[wasm_bindgen(js_name = "deleteSheet")]
|
||||||
|
|||||||
Reference in New Issue
Block a user