mirror of
https://github.com/zaphar/sheetsui.git
synced 2025-07-23 05:19:48 -04:00
chore: utility function for making a workspace
This commit is contained in:
parent
10d35ab0d6
commit
7de19e8e3b
@ -253,8 +253,7 @@ fn test_cmd_rename_sheet_with_idx_and_name() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_input_navitation_enter_key() {
|
fn test_input_navitation_enter_key() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
let row = ws.book.location.row;
|
let row = ws.book.location.row;
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
@ -266,8 +265,7 @@ fn test_input_navitation_enter_key() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_input_navitation_tab_key() {
|
fn test_input_navitation_tab_key() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
let col = dbg!(ws.book.location.col);
|
let col = dbg!(ws.book.location.col);
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
@ -279,8 +277,7 @@ fn test_input_navitation_tab_key() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_input_navitation_shift_enter_key() {
|
fn test_input_navitation_shift_enter_key() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
let row = ws.book.location.row;
|
let row = ws.book.location.row;
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
@ -300,8 +297,7 @@ fn test_input_navitation_shift_enter_key() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_input_navitation_shift_tab_key() {
|
fn test_input_navitation_shift_tab_key() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
let col = dbg!(ws.book.location.col);
|
let col = dbg!(ws.book.location.col);
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
@ -321,8 +317,7 @@ fn test_input_navitation_shift_tab_key() {
|
|||||||
|
|
||||||
macro_rules! assert_help_dialog {
|
macro_rules! assert_help_dialog {
|
||||||
($exit : expr) => {{
|
($exit : expr) => {{
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char('i')
|
.char('i')
|
||||||
@ -363,8 +358,7 @@ fn test_edit_mode_help_keycode_alt_h() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_navigation_mode_help_keycode() {
|
fn test_navigation_mode_help_keycode() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
let help_text = ws.render_help_text();
|
let help_text = ws.render_help_text();
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
@ -377,8 +371,7 @@ fn test_navigation_mode_help_keycode() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_command_mode_help_keycode() {
|
fn test_command_mode_help_keycode() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char(':')
|
.char(':')
|
||||||
@ -396,8 +389,7 @@ fn test_command_mode_help_keycode() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_edit_mode_esc_keycode() {
|
fn test_edit_mode_esc_keycode() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char('i')
|
.char('i')
|
||||||
@ -420,8 +412,7 @@ fn test_edit_mode_esc_keycode() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_navigation_numeric_prefix() {
|
fn test_navigation_numeric_prefix() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
ws.book
|
ws.book
|
||||||
.new_sheet(Some("Sheet2"))
|
.new_sheet(Some("Sheet2"))
|
||||||
@ -440,8 +431,7 @@ fn test_navigation_numeric_prefix() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_navigation_numeric_prefix_cancel() {
|
fn test_navigation_numeric_prefix_cancel() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
ws.book
|
ws.book
|
||||||
.new_sheet(Some("Sheet2"))
|
.new_sheet(Some("Sheet2"))
|
||||||
@ -461,8 +451,7 @@ fn test_navigation_numeric_prefix_cancel() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_navigation_tab_next_numeric_prefix() {
|
fn test_navigation_tab_next_numeric_prefix() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
ws.book
|
ws.book
|
||||||
.new_sheet(Some("Sheet2"))
|
.new_sheet(Some("Sheet2"))
|
||||||
@ -496,8 +485,7 @@ fn test_navigation_tab_next_numeric_prefix() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_range_copy() {
|
fn test_range_copy() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
|
|
||||||
ws.book
|
ws.book
|
||||||
@ -587,8 +575,7 @@ fn test_range_copy() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_range_copy_mode_from_edit_mode() {
|
fn test_range_copy_mode_from_edit_mode() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char('e')
|
.char('e')
|
||||||
@ -604,8 +591,7 @@ fn test_range_copy_mode_from_edit_mode() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_gg_movement() {
|
fn test_gg_movement() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char('j')
|
.char('j')
|
||||||
@ -624,8 +610,7 @@ fn test_gg_movement() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_h_j_k_l_movement() {
|
fn test_h_j_k_l_movement() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char('2')
|
.char('2')
|
||||||
@ -654,8 +639,7 @@ macro_rules! assert_copy_paste {
|
|||||||
assert_copy_paste!($c, $p, $source, $expected)
|
assert_copy_paste!($c, $p, $source, $expected)
|
||||||
};
|
};
|
||||||
($c: expr, $p: expr, $source: expr, $expected: expr) => {{
|
($c: expr, $p: expr, $source: expr, $expected: expr) => {{
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char('j')
|
.char('j')
|
||||||
.char('l')
|
.char('l')
|
||||||
@ -720,8 +704,7 @@ fn test_traditional_copy_paste_rendered() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_clear_cell() {
|
fn test_clear_cell() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
ws.book
|
ws.book
|
||||||
.edit_current_cell("foo")
|
.edit_current_cell("foo")
|
||||||
.expect("failed to edit cell");
|
.expect("failed to edit cell");
|
||||||
@ -746,8 +729,7 @@ fn test_clear_cell() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_clear_cell_all() {
|
fn test_clear_cell_all() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
ws.book
|
ws.book
|
||||||
.edit_current_cell("foo")
|
.edit_current_cell("foo")
|
||||||
.expect("failed to edit cell");
|
.expect("failed to edit cell");
|
||||||
@ -772,8 +754,7 @@ fn test_clear_cell_all() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_sheet_navigation() {
|
fn test_sheet_navigation() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
ws.book
|
ws.book
|
||||||
.new_sheet(Some("sheet 2"))
|
.new_sheet(Some("sheet 2"))
|
||||||
.expect("Failed to set sheet name");
|
.expect("Failed to set sheet name");
|
||||||
@ -804,8 +785,7 @@ fn test_sheet_navigation() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_sheet_column_sizing() {
|
fn test_sheet_column_sizing() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char('3')
|
.char('3')
|
||||||
.ctrl('l')
|
.ctrl('l')
|
||||||
@ -839,8 +819,7 @@ fn test_quit() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_cell_replace() {
|
fn test_cell_replace() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
ws.book
|
ws.book
|
||||||
.edit_current_cell("foo")
|
.edit_current_cell("foo")
|
||||||
.expect("Failed to edit current cell");
|
.expect("Failed to edit current cell");
|
||||||
@ -870,8 +849,7 @@ fn test_cell_replace() {
|
|||||||
|
|
||||||
macro_rules! assert_command_finish {
|
macro_rules! assert_command_finish {
|
||||||
($script : expr) => {
|
($script : expr) => {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
InputScript::default()
|
InputScript::default()
|
||||||
.char(':')
|
.char(':')
|
||||||
@ -897,8 +875,7 @@ fn test_command_mode_enter() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_edit_mode_paste() {
|
fn test_edit_mode_paste() {
|
||||||
let mut ws =
|
let mut ws = new_workspace();
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook");
|
|
||||||
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
ws.state.range_select.start = Some(Address { row: 1, col: 1, });
|
ws.state.range_select.start = Some(Address { row: 1, col: 1, });
|
||||||
ws.state.range_select.end = Some(Address { row: 2, col: 2, });
|
ws.state.range_select.end = Some(Address { row: 2, col: 2, });
|
||||||
@ -911,3 +888,26 @@ fn test_edit_mode_paste() {
|
|||||||
assert_eq!(Some(&Modality::CellEdit), ws.state.modality_stack.last());
|
assert_eq!(Some(&Modality::CellEdit), ws.state.modality_stack.last());
|
||||||
assert_eq!(vec!["A1:B2".to_string()], ws.text_area.into_lines());
|
assert_eq!(vec!["A1:B2".to_string()], ws.text_area.into_lines());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_range_select_esc() {
|
||||||
|
let mut ws = new_workspace();
|
||||||
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
|
InputScript::default().char('v').run(&mut ws).expect("Failed to handle script");
|
||||||
|
assert_eq!(Some(&Modality::RangeSelect), ws.state.modality_stack.last());
|
||||||
|
InputScript::default().esc().run(&mut ws).expect("Failed to handle script");
|
||||||
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
|
InputScript::default().char('v').chars("123").run(&mut ws)
|
||||||
|
.expect("Failed to handle script");
|
||||||
|
assert_eq!(Some(&Modality::RangeSelect), ws.state.modality_stack.last());
|
||||||
|
assert_eq!(3, ws.state.numeric_prefix.len());
|
||||||
|
InputScript::default().esc().run(&mut ws).expect("Failed to handle script");
|
||||||
|
assert_eq!(Some(&Modality::RangeSelect), ws.state.modality_stack.last());
|
||||||
|
assert_eq!(0, ws.state.numeric_prefix.len());
|
||||||
|
InputScript::default().esc().run(&mut ws).expect("Failed to handle script");
|
||||||
|
assert_eq!(Some(&Modality::Navigate), ws.state.modality_stack.last());
|
||||||
|
}
|
||||||
|
|
||||||
|
fn new_workspace<'a>() -> Workspace<'a> {
|
||||||
|
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook")
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user