78 lines
2.5 KiB
Rust
78 lines
2.5 KiB
Rust
use super::WorkspaceAction;
|
|
use crate::pane_group::TerminalPaneId;
|
|
use crate::workspace::tab_settings::{
|
|
VerticalTabsDisplayGranularity, VerticalTabsPrimaryInfo, VerticalTabsTabItemMode,
|
|
VerticalTabsViewMode,
|
|
};
|
|
use crate::workspace::PaneViewLocator;
|
|
use warpui::EntityId;
|
|
|
|
#[test]
|
|
fn vertical_tabs_view_mode_change_does_not_save_workspace_state() {
|
|
assert!(
|
|
!WorkspaceAction::SetVerticalTabsViewMode(VerticalTabsViewMode::Compact)
|
|
.should_save_app_state_on_action()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn vertical_tabs_panel_toggle_still_saves_workspace_state() {
|
|
assert!(WorkspaceAction::ToggleVerticalTabsPanel.should_save_app_state_on_action());
|
|
}
|
|
|
|
#[test]
|
|
fn settings_popup_toggle_does_not_save_workspace_state() {
|
|
assert!(!WorkspaceAction::ToggleVerticalTabsSettingsPopup.should_save_app_state_on_action());
|
|
}
|
|
|
|
#[test]
|
|
fn display_granularity_change_does_not_save_workspace_state() {
|
|
assert!(!WorkspaceAction::SetVerticalTabsDisplayGranularity(
|
|
VerticalTabsDisplayGranularity::Panes
|
|
)
|
|
.should_save_app_state_on_action());
|
|
assert!(!WorkspaceAction::SetVerticalTabsDisplayGranularity(
|
|
VerticalTabsDisplayGranularity::Tabs
|
|
)
|
|
.should_save_app_state_on_action());
|
|
}
|
|
|
|
#[test]
|
|
fn tab_item_mode_change_does_not_save_workspace_state() {
|
|
assert!(
|
|
!WorkspaceAction::SetVerticalTabsTabItemMode(VerticalTabsTabItemMode::FocusedSession)
|
|
.should_save_app_state_on_action()
|
|
);
|
|
assert!(
|
|
!WorkspaceAction::SetVerticalTabsTabItemMode(VerticalTabsTabItemMode::Summary)
|
|
.should_save_app_state_on_action()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn primary_info_change_does_not_save_workspace_state() {
|
|
assert!(
|
|
!WorkspaceAction::SetVerticalTabsPrimaryInfo(VerticalTabsPrimaryInfo::Command)
|
|
.should_save_app_state_on_action()
|
|
);
|
|
assert!(!WorkspaceAction::SetVerticalTabsPrimaryInfo(
|
|
VerticalTabsPrimaryInfo::WorkingDirectory
|
|
)
|
|
.should_save_app_state_on_action());
|
|
assert!(
|
|
!WorkspaceAction::SetVerticalTabsPrimaryInfo(VerticalTabsPrimaryInfo::Branch)
|
|
.should_save_app_state_on_action()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn pane_name_actions_save_workspace_state() {
|
|
let locator = PaneViewLocator {
|
|
pane_group_id: EntityId::new(),
|
|
pane_id: TerminalPaneId::dummy_terminal_pane_id().into(),
|
|
};
|
|
|
|
assert!(WorkspaceAction::RenamePane(locator).should_save_app_state_on_action());
|
|
assert!(WorkspaceAction::ResetPaneName(locator).should_save_app_state_on_action());
|
|
}
|