performance(terminal): consolidate renders (#4245)
* work * fix tests for async rendering * remove comment * some cleanups * style(fmt): rustfmt * fix e2e tests * fix more e2e tests * style(fmt): rustfmt * fix one more test * style(fmt): rustfmt
This commit is contained in:
parent
c5ac796880
commit
a4d5b0238d
44 changed files with 383 additions and 365 deletions
|
|
@ -916,7 +916,9 @@ pub fn resize_pane() {
|
||||||
name: "Wait for pane to be resized",
|
name: "Wait for pane to be resized",
|
||||||
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
let mut step_is_complete = false;
|
let mut step_is_complete = false;
|
||||||
if remote_terminal.cursor_position_is(57, 2) && remote_terminal.status_bar_appears()
|
if remote_terminal.cursor_position_is(57, 2)
|
||||||
|
&& remote_terminal.status_bar_appears()
|
||||||
|
&& remote_terminal.snapshot_contains("LOCK")
|
||||||
{
|
{
|
||||||
// pane has been resized
|
// pane has been resized
|
||||||
step_is_complete = true;
|
step_is_complete = true;
|
||||||
|
|
@ -1043,9 +1045,8 @@ pub fn resize_terminal_window() {
|
||||||
name: "wait for terminal to be resized and app to be re-rendered",
|
name: "wait for terminal to be resized and app to be re-rendered",
|
||||||
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
let mut step_is_complete = false;
|
let mut step_is_complete = false;
|
||||||
if remote_terminal.cursor_position_is(53, 2)
|
eprintln!("current_snapshot: {}", remote_terminal.current_snapshot());
|
||||||
&& remote_terminal.status_bar_appears()
|
if remote_terminal.cursor_position_is(53, 2) && remote_terminal.ctrl_plus_appears()
|
||||||
&& remote_terminal.snapshot_contains("Ctrl +")
|
|
||||||
{
|
{
|
||||||
// size has been changed
|
// size has been changed
|
||||||
step_is_complete = true;
|
step_is_complete = true;
|
||||||
|
|
@ -1135,7 +1136,7 @@ pub fn detach_and_attach_session() {
|
||||||
name: "Wait for session to be attached",
|
name: "Wait for session to be attached",
|
||||||
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
let mut step_is_complete = false;
|
let mut step_is_complete = false;
|
||||||
if remote_terminal.status_bar_appears() && remote_terminal.cursor_position_is(77, 2)
|
if remote_terminal.ctrl_plus_appears() && remote_terminal.cursor_position_is(77, 2)
|
||||||
{
|
{
|
||||||
// we're back inside the session
|
// we're back inside the session
|
||||||
step_is_complete = true;
|
step_is_complete = true;
|
||||||
|
|
@ -1354,7 +1355,9 @@ fn focus_pane_with_mouse() {
|
||||||
name: "Wait for left pane to be focused",
|
name: "Wait for left pane to be focused",
|
||||||
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
let mut step_is_complete = false;
|
let mut step_is_complete = false;
|
||||||
if remote_terminal.cursor_position_is(3, 2) && remote_terminal.status_bar_appears()
|
if remote_terminal.cursor_position_is(3, 2)
|
||||||
|
&& remote_terminal.status_bar_appears()
|
||||||
|
&& remote_terminal.snapshot_contains("LOCK")
|
||||||
{
|
{
|
||||||
// cursor is in the newly opened second pane
|
// cursor is in the newly opened second pane
|
||||||
step_is_complete = true;
|
step_is_complete = true;
|
||||||
|
|
@ -1405,6 +1408,7 @@ pub fn scrolling_inside_a_pane_with_mouse() {
|
||||||
let mut step_is_complete = false;
|
let mut step_is_complete = false;
|
||||||
if remote_terminal.cursor_position_is(63, 2)
|
if remote_terminal.cursor_position_is(63, 2)
|
||||||
&& remote_terminal.status_bar_appears()
|
&& remote_terminal.status_bar_appears()
|
||||||
|
&& remote_terminal.snapshot_contains("LOCK")
|
||||||
{
|
{
|
||||||
remote_terminal.load_fixture("e2e/scrolling_inside_a_pane");
|
remote_terminal.load_fixture("e2e/scrolling_inside_a_pane");
|
||||||
step_is_complete = true;
|
step_is_complete = true;
|
||||||
|
|
@ -2033,7 +2037,9 @@ pub fn toggle_floating_panes() {
|
||||||
name: "Wait for new pane to appear",
|
name: "Wait for new pane to appear",
|
||||||
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
let mut step_is_complete = false;
|
let mut step_is_complete = false;
|
||||||
if remote_terminal.cursor_position_is(33, 8) {
|
if remote_terminal.cursor_position_is(33, 8)
|
||||||
|
&& remote_terminal.snapshot_contains("STAGGERED")
|
||||||
|
{
|
||||||
// cursor is in the newly opened second pane
|
// cursor is in the newly opened second pane
|
||||||
step_is_complete = true;
|
step_is_complete = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -356,6 +356,10 @@ impl RemoteTerminal {
|
||||||
x == self.cursor_x && y == self.cursor_y
|
x == self.cursor_x && y == self.cursor_y
|
||||||
}
|
}
|
||||||
pub fn status_bar_appears(&self) -> bool {
|
pub fn status_bar_appears(&self) -> bool {
|
||||||
|
self.last_snapshot.lock().unwrap().contains("Ctrl +")
|
||||||
|
&& self.last_snapshot.lock().unwrap().contains("LOCK")
|
||||||
|
}
|
||||||
|
pub fn ctrl_plus_appears(&self) -> bool {
|
||||||
self.last_snapshot.lock().unwrap().contains("Ctrl +")
|
self.last_snapshot.lock().unwrap().contains("Ctrl +")
|
||||||
}
|
}
|
||||||
pub fn tab_bar_appears(&self) -> bool {
|
pub fn tab_bar_appears(&self) -> bool {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: src/tests/e2e/cases.rs
|
source: src/tests/e2e/cases.rs
|
||||||
assertion_line: 1154
|
|
||||||
expression: last_snapshot
|
expression: last_snapshot
|
||||||
---
|
---
|
||||||
Zellij (e2e-test) Tab #1
|
Zellij (e2e-test) Tab #1
|
||||||
|
|
@ -26,4 +25,4 @@ expression: last_snapshot
|
||||||
│ ││ │
|
│ ││ │
|
||||||
│ ││ │
|
│ ││ │
|
||||||
└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘
|
└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘
|
||||||
Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ...
|
Ctrl + <o> SESSION d Detach w Manager s Share c Config p Plugins a About ...
|
||||||
|
|
|
||||||
|
|
@ -483,7 +483,7 @@ pub(crate) fn background_jobs_main(
|
||||||
let task_start_time = current_time;
|
let task_start_time = current_time;
|
||||||
async move {
|
async move {
|
||||||
task::sleep(std::time::Duration::from_millis(REPAINT_DELAY_MS)).await;
|
task::sleep(std::time::Duration::from_millis(REPAINT_DELAY_MS)).await;
|
||||||
let _ = senders.send_to_screen(ScreenInstruction::Render);
|
let _ = senders.send_to_screen(ScreenInstruction::RenderToClients);
|
||||||
{
|
{
|
||||||
let mut last_render_request = last_render_request.lock().unwrap();
|
let mut last_render_request = last_render_request.lock().unwrap();
|
||||||
if let Some(last_render_request) = *last_render_request {
|
if let Some(last_render_request) = *last_render_request {
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,7 @@ pub enum ScreenInstruction {
|
||||||
PtyBytes(u32, VteBytes),
|
PtyBytes(u32, VteBytes),
|
||||||
PluginBytes(Vec<PluginRenderAsset>),
|
PluginBytes(Vec<PluginRenderAsset>),
|
||||||
Render,
|
Render,
|
||||||
|
RenderToClients,
|
||||||
NewPane(
|
NewPane(
|
||||||
PaneId,
|
PaneId,
|
||||||
Option<InitialTitle>,
|
Option<InitialTitle>,
|
||||||
|
|
@ -429,6 +430,7 @@ impl From<&ScreenInstruction> for ScreenContext {
|
||||||
ScreenInstruction::PtyBytes(..) => ScreenContext::HandlePtyBytes,
|
ScreenInstruction::PtyBytes(..) => ScreenContext::HandlePtyBytes,
|
||||||
ScreenInstruction::PluginBytes(..) => ScreenContext::PluginBytes,
|
ScreenInstruction::PluginBytes(..) => ScreenContext::PluginBytes,
|
||||||
ScreenInstruction::Render => ScreenContext::Render,
|
ScreenInstruction::Render => ScreenContext::Render,
|
||||||
|
ScreenInstruction::RenderToClients => ScreenContext::RenderToClients,
|
||||||
ScreenInstruction::NewPane(..) => ScreenContext::NewPane,
|
ScreenInstruction::NewPane(..) => ScreenContext::NewPane,
|
||||||
ScreenInstruction::OpenInPlaceEditor(..) => ScreenContext::OpenInPlaceEditor,
|
ScreenInstruction::OpenInPlaceEditor(..) => ScreenContext::OpenInPlaceEditor,
|
||||||
ScreenInstruction::TogglePaneEmbedOrFloating(..) => {
|
ScreenInstruction::TogglePaneEmbedOrFloating(..) => {
|
||||||
|
|
@ -1273,8 +1275,30 @@ impl Screen {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Renders this [`Screen`], which amounts to rendering its active [`Tab`].
|
|
||||||
pub fn render(&mut self, plugin_render_assets: Option<Vec<PluginRenderAsset>>) -> Result<()> {
|
pub fn render(&mut self, plugin_render_assets: Option<Vec<PluginRenderAsset>>) -> Result<()> {
|
||||||
|
// here we schedule the RenderToClients background job which debounces renders every 10ms
|
||||||
|
// rather than actually rendering
|
||||||
|
//
|
||||||
|
// when this job decides to render, it sends back the ScreenInstruction::RenderToClients
|
||||||
|
// message, triggering our render_to_clients method which does the actual rendering
|
||||||
|
|
||||||
|
let _ = self
|
||||||
|
.bus
|
||||||
|
.senders
|
||||||
|
.send_to_background_jobs(BackgroundJob::RenderToClients);
|
||||||
|
if let Some(plugin_render_assets) = plugin_render_assets {
|
||||||
|
let _ = self
|
||||||
|
.bus
|
||||||
|
.senders
|
||||||
|
.send_to_plugin(PluginInstruction::UnblockCliPipes(plugin_render_assets))
|
||||||
|
.context("failed to unblock input pipe");
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn render_to_clients(&mut self) -> Result<()> {
|
||||||
|
// this method does the actual rendering and is triggered by a debounced BackgroundJob (see
|
||||||
|
// the render method for more details)
|
||||||
let err_context = "failed to render screen";
|
let err_context = "failed to render screen";
|
||||||
|
|
||||||
let mut output = Output::new(
|
let mut output = Output::new(
|
||||||
|
|
@ -1304,13 +1328,6 @@ impl Screen {
|
||||||
.send_to_server(ServerInstruction::Render(Some(serialized_output)))
|
.send_to_server(ServerInstruction::Render(Some(serialized_output)))
|
||||||
.context(err_context);
|
.context(err_context);
|
||||||
}
|
}
|
||||||
if let Some(plugin_render_assets) = plugin_render_assets {
|
|
||||||
let _ = self
|
|
||||||
.bus
|
|
||||||
.senders
|
|
||||||
.send_to_plugin(PluginInstruction::UnblockCliPipes(plugin_render_assets))
|
|
||||||
.context("failed to unblock input pipe");
|
|
||||||
}
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2805,7 +2822,6 @@ impl Screen {
|
||||||
self.render(None).non_fatal();
|
self.render(None).non_fatal();
|
||||||
},
|
},
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
eprintln!("mouse event error: {:?}", e);
|
|
||||||
log::error!("Failed to process MouseEvent: {}", e);
|
log::error!("Failed to process MouseEvent: {}", e);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
@ -3265,6 +3281,9 @@ pub(crate) fn screen_thread_main(
|
||||||
ScreenInstruction::Render => {
|
ScreenInstruction::Render => {
|
||||||
screen.render(None)?;
|
screen.render(None)?;
|
||||||
},
|
},
|
||||||
|
ScreenInstruction::RenderToClients => {
|
||||||
|
screen.render_to_clients()?;
|
||||||
|
},
|
||||||
ScreenInstruction::NewPane(
|
ScreenInstruction::NewPane(
|
||||||
pid,
|
pid,
|
||||||
initial_pane_title,
|
initial_pane_title,
|
||||||
|
|
|
||||||
|
|
@ -337,6 +337,7 @@ impl MockScreen {
|
||||||
initial_layout: Option<TiledPaneLayout>,
|
initial_layout: Option<TiledPaneLayout>,
|
||||||
initial_floating_panes_layout: Vec<FloatingPaneLayout>,
|
initial_floating_panes_layout: Vec<FloatingPaneLayout>,
|
||||||
) -> std::thread::JoinHandle<()> {
|
) -> std::thread::JoinHandle<()> {
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let mut config = self.config.clone();
|
let mut config = self.config.clone();
|
||||||
config.options.advanced_mouse_actions = Some(self.advanced_mouse_actions);
|
config.options.advanced_mouse_actions = Some(self.advanced_mouse_actions);
|
||||||
let client_attributes = self.client_attributes.clone();
|
let client_attributes = self.client_attributes.clone();
|
||||||
|
|
@ -387,6 +388,8 @@ impl MockScreen {
|
||||||
let tab_name = None;
|
let tab_name = None;
|
||||||
let tab_index = self.last_opened_tab_index.map(|l| l + 1).unwrap_or(0);
|
let tab_index = self.last_opened_tab_index.map(|l| l + 1).unwrap_or(0);
|
||||||
let should_change_focus_to_new_tab = true;
|
let should_change_focus_to_new_tab = true;
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async
|
||||||
|
// render
|
||||||
let _ = self.to_screen.send(ScreenInstruction::NewTab(
|
let _ = self.to_screen.send(ScreenInstruction::NewTab(
|
||||||
None,
|
None,
|
||||||
default_shell,
|
default_shell,
|
||||||
|
|
@ -408,6 +411,7 @@ impl MockScreen {
|
||||||
(self.main_client_id, false),
|
(self.main_client_id, false),
|
||||||
));
|
));
|
||||||
self.last_opened_tab_index = Some(tab_index);
|
self.last_opened_tab_index = Some(tab_index);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
screen_thread
|
screen_thread
|
||||||
}
|
}
|
||||||
// same as the above function, but starts a plugin with a plugin alias
|
// same as the above function, but starts a plugin with a plugin alias
|
||||||
|
|
@ -536,6 +540,7 @@ impl MockScreen {
|
||||||
let _ = self.to_screen.send(ScreenInstruction::Exit);
|
let _ = self.to_screen.send(ScreenInstruction::Exit);
|
||||||
let _ = self.to_server.send(ServerInstruction::KillSession);
|
let _ = self.to_server.send(ServerInstruction::KillSession);
|
||||||
let _ = self.to_plugin.send(PluginInstruction::Exit);
|
let _ = self.to_plugin.send(PluginInstruction::Exit);
|
||||||
|
let _ = self.to_background_jobs.send(BackgroundJob::Exit);
|
||||||
for thread in threads {
|
for thread in threads {
|
||||||
let _ = thread.join();
|
let _ = thread.join();
|
||||||
}
|
}
|
||||||
|
|
@ -621,11 +626,33 @@ impl MockScreen {
|
||||||
let os_input = FakeInputOutput::default();
|
let os_input = FakeInputOutput::default();
|
||||||
let config_options = Options::default();
|
let config_options = Options::default();
|
||||||
let main_client_id = 1;
|
let main_client_id = 1;
|
||||||
|
|
||||||
|
std::thread::Builder::new()
|
||||||
|
.name("background_jobs_thread".to_string())
|
||||||
|
.spawn({
|
||||||
|
let to_screen = to_screen.clone();
|
||||||
|
move || loop {
|
||||||
|
let (event, _err_ctx) = background_jobs_receiver
|
||||||
|
.recv()
|
||||||
|
.expect("failed to receive event on channel");
|
||||||
|
match event {
|
||||||
|
BackgroundJob::RenderToClients => {
|
||||||
|
let _ = to_screen.send(ScreenInstruction::RenderToClients);
|
||||||
|
},
|
||||||
|
BackgroundJob::Exit => {
|
||||||
|
break;
|
||||||
|
},
|
||||||
|
_ => {},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
MockScreen {
|
MockScreen {
|
||||||
main_client_id,
|
main_client_id,
|
||||||
pty_receiver: Some(pty_receiver),
|
pty_receiver: Some(pty_receiver),
|
||||||
pty_writer_receiver: Some(pty_writer_receiver),
|
pty_writer_receiver: Some(pty_writer_receiver),
|
||||||
background_jobs_receiver: Some(background_jobs_receiver),
|
background_jobs_receiver: None,
|
||||||
screen_receiver: Some(screen_receiver),
|
screen_receiver: Some(screen_receiver),
|
||||||
server_receiver: Some(server_receiver),
|
server_receiver: Some(server_receiver),
|
||||||
plugin_receiver: Some(plugin_receiver),
|
plugin_receiver: Some(plugin_receiver),
|
||||||
|
|
@ -1431,7 +1458,9 @@ pub fn mouse_hover_effect() {
|
||||||
initial_layout.children_split_direction = SplitDirection::Vertical;
|
initial_layout.children_split_direction = SplitDirection::Vertical;
|
||||||
initial_layout.children = vec![TiledPaneLayout::default(), TiledPaneLayout::default()];
|
initial_layout.children = vec![TiledPaneLayout::default(), TiledPaneLayout::default()];
|
||||||
let mut mock_screen = MockScreen::new(size);
|
let mut mock_screen = MockScreen::new(size);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for actions to be
|
||||||
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for actions to be
|
||||||
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
||||||
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
||||||
let server_thread = log_actions_in_thread!(
|
let server_thread = log_actions_in_thread!(
|
||||||
|
|
@ -1781,7 +1810,9 @@ pub fn send_cli_resize_action_to_screen() {
|
||||||
resize: Resize::Increase,
|
resize: Resize::Increase,
|
||||||
direction: Some(Direction::Left),
|
direction: Some(Direction::Left),
|
||||||
};
|
};
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
send_cli_action_to_server(&session_metadata, resize_cli_action, client_id);
|
send_cli_action_to_server(&session_metadata, resize_cli_action, client_id);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
mock_screen.teardown(vec![pty_writer_thread, screen_thread]);
|
mock_screen.teardown(vec![pty_writer_thread, screen_thread]);
|
||||||
let snapshots = take_snapshots_and_cursor_coordinates_from_render_events(
|
let snapshots = take_snapshots_and_cursor_coordinates_from_render_events(
|
||||||
received_server_instructions.lock().unwrap().iter(),
|
received_server_instructions.lock().unwrap().iter(),
|
||||||
|
|
@ -2254,6 +2285,7 @@ pub fn send_cli_page_scroll_up_action() {
|
||||||
);
|
);
|
||||||
let page_scroll_up_action = CliAction::PageScrollUp;
|
let page_scroll_up_action = CliAction::PageScrollUp;
|
||||||
let mut pane_contents = String::new();
|
let mut pane_contents = String::new();
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
for i in 0..20 {
|
for i in 0..20 {
|
||||||
pane_contents.push_str(&format!("fill pane up with something {}\n\r", i));
|
pane_contents.push_str(&format!("fill pane up with something {}\n\r", i));
|
||||||
}
|
}
|
||||||
|
|
@ -2299,6 +2331,7 @@ pub fn send_cli_page_scroll_down_action() {
|
||||||
for i in 0..20 {
|
for i in 0..20 {
|
||||||
pane_contents.push_str(&format!("fill pane up with something {}\n\r", i));
|
pane_contents.push_str(&format!("fill pane up with something {}\n\r", i));
|
||||||
}
|
}
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let _ = mock_screen.to_screen.send(ScreenInstruction::PtyBytes(
|
let _ = mock_screen.to_screen.send(ScreenInstruction::PtyBytes(
|
||||||
0,
|
0,
|
||||||
pane_contents.as_bytes().to_vec(),
|
pane_contents.as_bytes().to_vec(),
|
||||||
|
|
@ -2306,10 +2339,13 @@ pub fn send_cli_page_scroll_down_action() {
|
||||||
std::thread::sleep(std::time::Duration::from_millis(100));
|
std::thread::sleep(std::time::Duration::from_millis(100));
|
||||||
|
|
||||||
// scroll up some
|
// scroll up some
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
send_cli_action_to_server(&session_metadata, page_scroll_up_action.clone(), client_id);
|
send_cli_action_to_server(&session_metadata, page_scroll_up_action.clone(), client_id);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
send_cli_action_to_server(&session_metadata, page_scroll_up_action.clone(), client_id);
|
send_cli_action_to_server(&session_metadata, page_scroll_up_action.clone(), client_id);
|
||||||
|
|
||||||
// scroll down
|
// scroll down
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
send_cli_action_to_server(&session_metadata, page_scroll_down_action, client_id);
|
send_cli_action_to_server(&session_metadata, page_scroll_down_action, client_id);
|
||||||
std::thread::sleep(std::time::Duration::from_millis(100));
|
std::thread::sleep(std::time::Duration::from_millis(100));
|
||||||
mock_screen.teardown(vec![server_instruction, screen_thread]);
|
mock_screen.teardown(vec![server_instruction, screen_thread]);
|
||||||
|
|
@ -2385,6 +2421,7 @@ pub fn send_cli_half_page_scroll_down_action() {
|
||||||
let half_page_scroll_up_action = CliAction::HalfPageScrollUp;
|
let half_page_scroll_up_action = CliAction::HalfPageScrollUp;
|
||||||
let half_page_scroll_down_action = CliAction::HalfPageScrollDown;
|
let half_page_scroll_down_action = CliAction::HalfPageScrollDown;
|
||||||
let mut pane_contents = String::new();
|
let mut pane_contents = String::new();
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
for i in 0..20 {
|
for i in 0..20 {
|
||||||
pane_contents.push_str(&format!("fill pane up with something {}\n\r", i));
|
pane_contents.push_str(&format!("fill pane up with something {}\n\r", i));
|
||||||
}
|
}
|
||||||
|
|
@ -2400,11 +2437,13 @@ pub fn send_cli_half_page_scroll_down_action() {
|
||||||
half_page_scroll_up_action.clone(),
|
half_page_scroll_up_action.clone(),
|
||||||
client_id,
|
client_id,
|
||||||
);
|
);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
send_cli_action_to_server(
|
send_cli_action_to_server(
|
||||||
&session_metadata,
|
&session_metadata,
|
||||||
half_page_scroll_up_action.clone(),
|
half_page_scroll_up_action.clone(),
|
||||||
client_id,
|
client_id,
|
||||||
);
|
);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
|
|
||||||
// scroll down
|
// scroll down
|
||||||
send_cli_action_to_server(&session_metadata, half_page_scroll_down_action, client_id);
|
send_cli_action_to_server(&session_metadata, half_page_scroll_down_action, client_id);
|
||||||
|
|
@ -3076,6 +3115,7 @@ pub fn send_cli_next_tab_action() {
|
||||||
mock_screen.new_tab(second_tab_layout);
|
mock_screen.new_tab(second_tab_layout);
|
||||||
let session_metadata = mock_screen.clone_session_metadata();
|
let session_metadata = mock_screen.clone_session_metadata();
|
||||||
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
||||||
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
||||||
let server_thread = log_actions_in_thread!(
|
let server_thread = log_actions_in_thread!(
|
||||||
|
|
@ -3085,8 +3125,9 @@ pub fn send_cli_next_tab_action() {
|
||||||
);
|
);
|
||||||
let goto_next_tab = CliAction::GoToNextTab;
|
let goto_next_tab = CliAction::GoToNextTab;
|
||||||
send_cli_action_to_server(&session_metadata, goto_next_tab, client_id);
|
send_cli_action_to_server(&session_metadata, goto_next_tab, client_id);
|
||||||
std::thread::sleep(std::time::Duration::from_millis(100));
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
mock_screen.teardown(vec![server_thread, screen_thread]);
|
mock_screen.teardown(vec![server_thread, screen_thread]);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let snapshots = take_snapshots_and_cursor_coordinates_from_render_events(
|
let snapshots = take_snapshots_and_cursor_coordinates_from_render_events(
|
||||||
received_server_instructions.lock().unwrap().iter(),
|
received_server_instructions.lock().unwrap().iter(),
|
||||||
size,
|
size,
|
||||||
|
|
@ -3524,7 +3565,7 @@ pub fn send_cli_launch_or_focus_plugin_action_when_plugin_is_already_loaded_for_
|
||||||
);
|
);
|
||||||
let snapshot_count = snapshots.len();
|
let snapshot_count = snapshots.len();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
snapshot_count, 2,
|
snapshot_count, 3,
|
||||||
"Another render was sent for focusing the already loaded plugin"
|
"Another render was sent for focusing the already loaded plugin"
|
||||||
);
|
);
|
||||||
for (cursor_coordinates, _snapshot) in snapshots.iter().skip(1) {
|
for (cursor_coordinates, _snapshot) in snapshots.iter().skip(1) {
|
||||||
|
|
@ -3578,7 +3619,9 @@ pub fn screen_can_break_pane_to_a_new_tab() {
|
||||||
initial_layout.children_split_direction = SplitDirection::Vertical;
|
initial_layout.children_split_direction = SplitDirection::Vertical;
|
||||||
initial_layout.children = vec![pane_to_break_free, pane_to_stay];
|
initial_layout.children = vec![pane_to_break_free, pane_to_stay];
|
||||||
let mut mock_screen = MockScreen::new(size);
|
let mut mock_screen = MockScreen::new(size);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
||||||
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
||||||
let server_thread = log_actions_in_thread!(
|
let server_thread = log_actions_in_thread!(
|
||||||
|
|
@ -3677,7 +3720,9 @@ pub fn screen_can_break_floating_pane_to_a_new_tab() {
|
||||||
initial_layout.children_split_direction = SplitDirection::Vertical;
|
initial_layout.children_split_direction = SplitDirection::Vertical;
|
||||||
initial_layout.children = vec![pane_to_break_free];
|
initial_layout.children = vec![pane_to_break_free];
|
||||||
let mut mock_screen = MockScreen::new(size);
|
let mut mock_screen = MockScreen::new(size);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let screen_thread = mock_screen.run(Some(initial_layout), floating_panes_layout.clone());
|
let screen_thread = mock_screen.run(Some(initial_layout), floating_panes_layout.clone());
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
||||||
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
||||||
let server_thread = log_actions_in_thread!(
|
let server_thread = log_actions_in_thread!(
|
||||||
|
|
@ -3750,7 +3795,9 @@ pub fn screen_can_break_plugin_pane_to_a_new_tab() {
|
||||||
initial_layout.children_split_direction = SplitDirection::Vertical;
|
initial_layout.children_split_direction = SplitDirection::Vertical;
|
||||||
initial_layout.children = vec![pane_to_break_free, pane_to_stay];
|
initial_layout.children = vec![pane_to_break_free, pane_to_stay];
|
||||||
let mut mock_screen = MockScreen::new(size);
|
let mut mock_screen = MockScreen::new(size);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
let screen_thread = mock_screen.run(Some(initial_layout), vec![]);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
||||||
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
||||||
let server_thread = log_actions_in_thread!(
|
let server_thread = log_actions_in_thread!(
|
||||||
|
|
@ -3821,7 +3868,9 @@ pub fn screen_can_break_floating_plugin_pane_to_a_new_tab() {
|
||||||
initial_layout.children_split_direction = SplitDirection::Vertical;
|
initial_layout.children_split_direction = SplitDirection::Vertical;
|
||||||
initial_layout.children = vec![pane_to_break_free];
|
initial_layout.children = vec![pane_to_break_free];
|
||||||
let mut mock_screen = MockScreen::new(size);
|
let mut mock_screen = MockScreen::new(size);
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let screen_thread = mock_screen.run(Some(initial_layout), floating_panes_layout.clone());
|
let screen_thread = mock_screen.run(Some(initial_layout), floating_panes_layout.clone());
|
||||||
|
std::thread::sleep(std::time::Duration::from_millis(100)); // give time for the async render
|
||||||
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
let received_server_instructions = Arc::new(Mutex::new(vec![]));
|
||||||
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
let server_receiver = mock_screen.server_receiver.take().unwrap();
|
||||||
let server_thread = log_actions_in_thread!(
|
let server_thread = log_actions_in_thread!(
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,24 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 3079
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ pane_to_stay ────────────────────────────────────────────────────────────────┐
|
00 (C): ┌ pane_to_stay ────────────────────────┐┌ pane_to_break_free ──────────────────┐
|
||||||
01 (C): │ │
|
01 (C): │ ││ │
|
||||||
02 (C): │ │
|
02 (C): │ ││ │
|
||||||
03 (C): │ │
|
03 (C): │ ││ │
|
||||||
04 (C): │ │
|
04 (C): │ ││ │
|
||||||
05 (C): │ │
|
05 (C): │ ││ │
|
||||||
06 (C): │ │
|
06 (C): │ ││ │
|
||||||
07 (C): │ │
|
07 (C): │ ││ │
|
||||||
08 (C): │ │
|
08 (C): │ ││ │
|
||||||
09 (C): │ │
|
09 (C): │ ││ │
|
||||||
10 (C): │ │
|
10 (C): │ ││ │
|
||||||
11 (C): │ │
|
11 (C): │ ││ │
|
||||||
12 (C): │ │
|
12 (C): │ ││ │
|
||||||
13 (C): │ │
|
13 (C): │ ││ │
|
||||||
14 (C): │ │
|
14 (C): │ ││ │
|
||||||
15 (C): │ │
|
15 (C): │ ││ │
|
||||||
16 (C): │ │
|
16 (C): │ ││ │
|
||||||
17 (C): │ │
|
17 (C): │ ││ │
|
||||||
18 (C): │ │
|
18 (C): │ ││ │
|
||||||
19 (C): └──────────────────────────────────────────────────────────────────────────────┘
|
19 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 3649
|
expression: "format!(\"{}\", snapshot_count)"
|
||||||
expression: "format!(\"{}\", snapshot)"
|
|
||||||
---
|
---
|
||||||
00 (C): ┌ pane_to_stay ────────────────────────┐┌ pane_to_break_free ──────────────────┐
|
3
|
||||||
01 (C): │ ││ │
|
|
||||||
02 (C): │ ││ │
|
|
||||||
03 (C): │ ││ │
|
|
||||||
04 (C): │ ││ │
|
|
||||||
05 (C): │ ││ │
|
|
||||||
06 (C): │ ││ │
|
|
||||||
07 (C): │ ││ │
|
|
||||||
08 (C): │ ││ │
|
|
||||||
09 (C): │ ││ │
|
|
||||||
10 (C): │ ││ │
|
|
||||||
11 (C): │ ││ │
|
|
||||||
12 (C): │ ││ │
|
|
||||||
13 (C): │ ││ │
|
|
||||||
14 (C): │ ││ │
|
|
||||||
15 (C): │ ││ │
|
|
||||||
16 (C): │ ││ │
|
|
||||||
17 (C): │ ││ │
|
|
||||||
18 (C): │ ││ │
|
|
||||||
19 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,24 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 3032
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ pane_to_stay ────────────────────────────────────────────────────────────────┐
|
00 (C): ┌ pane_to_stay ────────────────────────┐┌ pane_to_break_free ──────────────────┐
|
||||||
01 (C): │ │
|
01 (C): │ ││ │
|
||||||
02 (C): │ │
|
02 (C): │ ││ │
|
||||||
03 (C): │ │
|
03 (C): │ ││ │
|
||||||
04 (C): │ │
|
04 (C): │ ││ │
|
||||||
05 (C): │ │
|
05 (C): │ ││ │
|
||||||
06 (C): │ │
|
06 (C): │ ││ │
|
||||||
07 (C): │ │
|
07 (C): │ ││ │
|
||||||
08 (C): │ │
|
08 (C): │ ││ │
|
||||||
09 (C): │ │
|
09 (C): │ ││ │
|
||||||
10 (C): │ │
|
10 (C): │ ││ │
|
||||||
11 (C): │ │
|
11 (C): │ ││ │
|
||||||
12 (C): │ │
|
12 (C): │ ││ │
|
||||||
13 (C): │ │
|
13 (C): │ ││ │
|
||||||
14 (C): │ │
|
14 (C): │ ││ │
|
||||||
15 (C): │ │
|
15 (C): │ ││ │
|
||||||
16 (C): │ │
|
16 (C): │ ││ │
|
||||||
17 (C): │ │
|
17 (C): │ ││ │
|
||||||
18 (C): │ │
|
18 (C): │ ││ │
|
||||||
19 (C): └──────────────────────────────────────────────────────────────────────────────┘
|
19 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 3601
|
expression: "format!(\"{}\", snapshot_count)"
|
||||||
expression: "format!(\"{}\", snapshot)"
|
|
||||||
---
|
---
|
||||||
00 (C): ┌ pane_to_stay ────────────────────────┐┌ pane_to_break_free ──────────────────┐
|
3
|
||||||
01 (C): │ ││ │
|
|
||||||
02 (C): │ ││ │
|
|
||||||
03 (C): │ ││ │
|
|
||||||
04 (C): │ ││ │
|
|
||||||
05 (C): │ ││ │
|
|
||||||
06 (C): │ ││ │
|
|
||||||
07 (C): │ ││ │
|
|
||||||
08 (C): │ ││ │
|
|
||||||
09 (C): │ ││ │
|
|
||||||
10 (C): │ ││ │
|
|
||||||
11 (C): │ ││ │
|
|
||||||
12 (C): │ ││ │
|
|
||||||
13 (C): │ ││ │
|
|
||||||
14 (C): │ ││ │
|
|
||||||
15 (C): │ ││ │
|
|
||||||
16 (C): │ ││ │
|
|
||||||
17 (C): │ ││ │
|
|
||||||
18 (C): │ ││ │
|
|
||||||
19 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 2389
|
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[SpawnTerminal(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: None, cwd: Some("."), originating_plugin: None })), Some(false), Some("Editing: /file/to/edit"), None, false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit]
|
[UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), SpawnTerminal(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: None, cwd: Some("."), originating_plugin: None })), Some(false), Some("Editing: /file/to/edit"), None, false, ClientId(10)), Exit]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 2427
|
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[SpawnTerminal(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: Some(100), cwd: Some("."), originating_plugin: None })), Some(false), Some("Editing: /file/to/edit"), None, false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit]
|
[UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), SpawnTerminal(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: Some(100), cwd: Some("."), originating_plugin: None })), Some(false), Some("Editing: /file/to/edit"), None, false, ClientId(10)), Exit]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 2465
|
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[SpawnTerminalHorizontally(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: None, cwd: Some("."), originating_plugin: None })), Some("Editing: /file/to/edit"), 10), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit]
|
[UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), SpawnTerminalHorizontally(Some(OpenFile(OpenFilePayload { path: "/file/to/edit", line_number: None, cwd: Some("."), originating_plugin: None })), Some("Editing: /file/to/edit"), 10), Exit]
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1702
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 4/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 9 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 10 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 11 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 12 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 13 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 14 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 15 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 16 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1702
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 8/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 4/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 5 ││ │
|
01 (C): │fill pane up with something 9 ││ │
|
||||||
02 (C): │fill pane up with something 6 ││ │
|
02 (C): │fill pane up with something 10 ││ │
|
||||||
03 (C): │fill pane up with something 7 ││ │
|
03 (C): │fill pane up with something 11 ││ │
|
||||||
04 (C): │fill pane up with something 8 ││ │
|
04 (C): │fill pane up with something 12 ││ │
|
||||||
05 (C): │fill pane up with something 9 ││ │
|
05 (C): │fill pane up with something 13 ││ │
|
||||||
06 (C): │fill pane up with something 10 ││ │
|
06 (C): │fill pane up with something 14 ││ │
|
||||||
07 (C): │fill pane up with something 11 ││ │
|
07 (C): │fill pane up with something 15 ││ │
|
||||||
08 (C): │fill pane up with something 12 ││ │
|
08 (C): │fill pane up with something 16 ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1702
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 4/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 8/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 9 ││ │
|
01 (C): │fill pane up with something 5 ││ │
|
||||||
02 (C): │fill pane up with something 10 ││ │
|
02 (C): │fill pane up with something 6 ││ │
|
||||||
03 (C): │fill pane up with something 11 ││ │
|
03 (C): │fill pane up with something 7 ││ │
|
||||||
04 (C): │fill pane up with something 12 ││ │
|
04 (C): │fill pane up with something 8 ││ │
|
||||||
05 (C): │fill pane up with something 13 ││ │
|
05 (C): │fill pane up with something 9 ││ │
|
||||||
06 (C): │fill pane up with something 14 ││ │
|
06 (C): │fill pane up with something 10 ││ │
|
||||||
07 (C): │fill pane up with something 15 ││ │
|
07 (C): │fill pane up with something 11 ││ │
|
||||||
08 (C): │fill pane up with something 16 ││ │
|
08 (C): │fill pane up with something 12 ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1704
|
expression: "format!(\"{}\", snapshot)"
|
||||||
expression: "format!(\"{}\", snapshot_count)"
|
|
||||||
---
|
---
|
||||||
4
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 4/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
|
01 (C): │fill pane up with something 9 ││ │
|
||||||
|
02 (C): │fill pane up with something 10 ││ │
|
||||||
|
03 (C): │fill pane up with something 11 ││ │
|
||||||
|
04 (C): │fill pane up with something 12 ││ │
|
||||||
|
05 (C): │fill pane up with something 13 ││ │
|
||||||
|
06 (C): │fill pane up with something 14 ││ │
|
||||||
|
07 (C): │fill pane up with something 15 ││ │
|
||||||
|
08 (C): │fill pane up with something 16 ││ │
|
||||||
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1639
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 4/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 9 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 10 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 11 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 12 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 13 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 14 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 15 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 16 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1641
|
expression: "format!(\"{}\", snapshot)"
|
||||||
expression: "format!(\"{}\", snapshot_count)"
|
|
||||||
---
|
---
|
||||||
2
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 4/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
|
01 (C): │fill pane up with something 9 ││ │
|
||||||
|
02 (C): │fill pane up with something 10 ││ │
|
||||||
|
03 (C): │fill pane up with something 11 ││ │
|
||||||
|
04 (C): │fill pane up with something 12 ││ │
|
||||||
|
05 (C): │fill pane up with something 13 ││ │
|
||||||
|
06 (C): │fill pane up with something 14 ││ │
|
||||||
|
07 (C): │fill pane up with something 15 ││ │
|
||||||
|
08 (C): │fill pane up with something 16 ││ │
|
||||||
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 2222
|
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[SpawnTerminal(None, Some(false), None, None, false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit]
|
[UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), SpawnTerminal(None, Some(false), None, None, false, ClientId(10)), Exit]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 2371
|
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[SpawnTerminal(Some(RunCommand(RunCommand { command: "htop", args: [], cwd: Some("/some/folder"), hold_on_close: true, hold_on_start: false, originating_plugin: None })), Some(true), None, Some(FloatingPaneCoordinates { x: Some(Fixed(10)), y: None, width: Some(Percent(20)), height: None, pinned: None }), false, ClientId(10)), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit]
|
[UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), SpawnTerminal(Some(RunCommand(RunCommand { command: "htop", args: [], cwd: Some("/some/folder"), hold_on_close: true, hold_on_start: false, originating_plugin: None })), Some(true), None, Some(FloatingPaneCoordinates { x: Some(Fixed(10)), y: None, width: Some(Percent(20)), height: None, pinned: None }), false, ClientId(10)), Exit]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1869
|
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[SpawnTerminalVertically(None, None, 10), UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), Exit]
|
[UpdateActivePane(Some(Terminal(0)), 1), UpdateActivePane(Some(Terminal(0)), 1), SpawnTerminalVertically(None, None, 10), Exit]
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1593
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 9/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 4 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 5 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 6 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 7 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 8 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 9 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 10 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 11 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1593
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ───────────── SCROLL: 13/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 9/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 0 ││ │
|
01 (C): │fill pane up with something 4 ││ │
|
||||||
02 (C): │fill pane up with something 1 ││ │
|
02 (C): │fill pane up with something 5 ││ │
|
||||||
03 (C): │fill pane up with something 2 ││ │
|
03 (C): │fill pane up with something 6 ││ │
|
||||||
04 (C): │fill pane up with something 3 ││ │
|
04 (C): │fill pane up with something 7 ││ │
|
||||||
05 (C): │fill pane up with something 4 ││ │
|
05 (C): │fill pane up with something 8 ││ │
|
||||||
06 (C): │fill pane up with something 5 ││ │
|
06 (C): │fill pane up with something 9 ││ │
|
||||||
07 (C): │fill pane up with something 6 ││ │
|
07 (C): │fill pane up with something 10 ││ │
|
||||||
08 (C): │fill pane up with something 7 ││ │
|
08 (C): │fill pane up with something 11 ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1593
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 5/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ───────────── SCROLL: 13/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 8 ││ │
|
01 (C): │fill pane up with something 0 ││ │
|
||||||
02 (C): │fill pane up with something 9 ││ │
|
02 (C): │fill pane up with something 1 ││ │
|
||||||
03 (C): │fill pane up with something 10 ││ │
|
03 (C): │fill pane up with something 2 ││ │
|
||||||
04 (C): │fill pane up with something 11 ││ │
|
04 (C): │fill pane up with something 3 ││ │
|
||||||
05 (C): │fill pane up with something 12 ││ │
|
05 (C): │fill pane up with something 4 ││ │
|
||||||
06 (C): │fill pane up with something 13 ││ │
|
06 (C): │fill pane up with something 5 ││ │
|
||||||
07 (C): │fill pane up with something 14 ││ │
|
07 (C): │fill pane up with something 6 ││ │
|
||||||
08 (C): │fill pane up with something 15 ││ │
|
08 (C): │fill pane up with something 7 ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1595
|
expression: "format!(\"{}\", snapshot)"
|
||||||
expression: "format!(\"{}\", snapshot_count)"
|
|
||||||
---
|
---
|
||||||
4
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 5/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
|
01 (C): │fill pane up with something 8 ││ │
|
||||||
|
02 (C): │fill pane up with something 9 ││ │
|
||||||
|
03 (C): │fill pane up with something 10 ││ │
|
||||||
|
04 (C): │fill pane up with something 11 ││ │
|
||||||
|
05 (C): │fill pane up with something 12 ││ │
|
||||||
|
06 (C): │fill pane up with something 13 ││ │
|
||||||
|
07 (C): │fill pane up with something 14 ││ │
|
||||||
|
08 (C): │fill pane up with something 15 ││ │
|
||||||
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1530
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 9/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 4 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 5 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 6 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 7 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 8 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 9 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 10 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 11 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1532
|
expression: "format!(\"{}\", snapshot)"
|
||||||
expression: "format!(\"{}\", snapshot_count)"
|
|
||||||
---
|
---
|
||||||
2
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 9/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
|
01 (C): │fill pane up with something 4 ││ │
|
||||||
|
02 (C): │fill pane up with something 5 ││ │
|
||||||
|
03 (C): │fill pane up with something 6 ││ │
|
||||||
|
04 (C): │fill pane up with something 7 ││ │
|
||||||
|
05 (C): │fill pane up with something 8 ││ │
|
||||||
|
06 (C): │fill pane up with something 9 ││ │
|
||||||
|
07 (C): │fill pane up with something 10 ││ │
|
||||||
|
08 (C): │fill pane up with something 11 ││ │
|
||||||
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,24 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 924
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C):
|
00 (C): ┌ Pane #1 ─────────────────────────┐┌ Pane #2 ─────────────────────────────────┐
|
||||||
01 (C):
|
01 (C): │ ││ │
|
||||||
02 (C):
|
02 (C): │ ││ │
|
||||||
03 (C):
|
03 (C): │ ││ │
|
||||||
04 (C):
|
04 (C): │ ││ │
|
||||||
05 (C):
|
05 (C): │ ││ │
|
||||||
06 (C):
|
06 (C): │ ││ │
|
||||||
07 (C):
|
07 (C): │ ││ │
|
||||||
08 (C):
|
08 (C): │ ││ │
|
||||||
09 (C):
|
09 (C): │ ││ │
|
||||||
10 (C):
|
10 (C): │ ││ │
|
||||||
11 (C):
|
11 (C): │ ││ │
|
||||||
12 (C):
|
12 (C): │ ││ │
|
||||||
13 (C):
|
13 (C): │ ││ │
|
||||||
14 (C):
|
14 (C): │ ││ │
|
||||||
15 (C):
|
15 (C): │ ││ │
|
||||||
16 (C):
|
16 (C): │ ││ │
|
||||||
17 (C):
|
17 (C): │ ││ │
|
||||||
18 (C):
|
18 (C): │ ││ │
|
||||||
19 (C):
|
19 (C): └──────────────────────────────────┘└──────────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 924
|
expression: "format!(\"{}\", snapshot_count)"
|
||||||
expression: "format!(\"{}\", snapshot)"
|
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ─────────────────────────┐┌ Pane #2 ─────────────────────────────────┐
|
2
|
||||||
01 (C): │ ││ │
|
|
||||||
02 (C): │ ││ │
|
|
||||||
03 (C): │ ││ │
|
|
||||||
04 (C): │ ││ │
|
|
||||||
05 (C): │ ││ │
|
|
||||||
06 (C): │ ││ │
|
|
||||||
07 (C): │ ││ │
|
|
||||||
08 (C): │ ││ │
|
|
||||||
09 (C): │ ││ │
|
|
||||||
10 (C): │ ││ │
|
|
||||||
11 (C): │ ││ │
|
|
||||||
12 (C): │ ││ │
|
|
||||||
13 (C): │ ││ │
|
|
||||||
14 (C): │ ││ │
|
|
||||||
15 (C): │ ││ │
|
|
||||||
16 (C): │ ││ │
|
|
||||||
17 (C): │ ││ │
|
|
||||||
18 (C): │ ││ │
|
|
||||||
19 (C): └──────────────────────────────────┘└──────────────────────────────────────────┘
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,24 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 904
|
expression: "format!(\"{}\", snapshot)"
|
||||||
expression: "format!(\"{}\", snapshot_count)"
|
|
||||||
---
|
---
|
||||||
0
|
00 (C): ┌ Pane #1 ─────────────────────────────┐┌ Pane #2 ─────────────────────────────┐
|
||||||
|
01 (C): │ ││ │
|
||||||
|
02 (C): │ ││ │
|
||||||
|
03 (C): │ ││ │
|
||||||
|
04 (C): │ ││ │
|
||||||
|
05 (C): │ ││ │
|
||||||
|
06 (C): │ ││ │
|
||||||
|
07 (C): │ ││ │
|
||||||
|
08 (C): │ ││ │
|
||||||
|
09 (C): │ ││ │
|
||||||
|
10 (C): │ ││ │
|
||||||
|
11 (C): │ ││ │
|
||||||
|
12 (C): │ ││ │
|
||||||
|
13 (C): │ ││ │
|
||||||
|
14 (C): │ ││ │
|
||||||
|
15 (C): │ ││ │
|
||||||
|
16 (C): │ ││ │
|
||||||
|
17 (C): │ ││ │
|
||||||
|
18 (C): │ ││ │
|
||||||
|
19 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1407
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 1/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 12 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 13 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 14 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 15 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 16 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 17 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 18 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 19 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1407
|
expression: "format!(\"{}\", snapshot_count)"
|
||||||
expression: "format!(\"{}\", snapshot)"
|
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 3/13 ┐┌ Pane #2 ─────────────────────────────┐
|
3
|
||||||
01 (C): │fill pane up with something 10 ││ │
|
|
||||||
02 (C): │fill pane up with something 11 ││ │
|
|
||||||
03 (C): │fill pane up with something 12 ││ │
|
|
||||||
04 (C): │fill pane up with something 13 ││ │
|
|
||||||
05 (C): │fill pane up with something 14 ││ │
|
|
||||||
06 (C): │fill pane up with something 15 ││ │
|
|
||||||
07 (C): │fill pane up with something 16 ││ │
|
|
||||||
08 (C): │fill pane up with something 17 ││ │
|
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1484
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 1/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 12 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 13 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 14 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 15 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 16 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 17 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 18 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 19 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1484
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 2/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 11 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 12 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 13 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 14 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 15 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 16 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 17 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 18 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,5 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1484
|
expression: "format!(\"{}\", snapshot_count)"
|
||||||
expression: "format!(\"{}\", snapshot)"
|
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 3/13 ┐┌ Pane #2 ─────────────────────────────┐
|
3
|
||||||
01 (C): │fill pane up with something 10 ││ │
|
|
||||||
02 (C): │fill pane up with something 11 ││ │
|
|
||||||
03 (C): │fill pane up with something 12 ││ │
|
|
||||||
04 (C): │fill pane up with something 13 ││ │
|
|
||||||
05 (C): │fill pane up with something 14 ││ │
|
|
||||||
06 (C): │fill pane up with something 15 ││ │
|
|
||||||
07 (C): │fill pane up with something 16 ││ │
|
|
||||||
08 (C): │fill pane up with something 17 ││ │
|
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1565
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ───────────── SCROLL: 13/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 0 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 1 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 2 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 3 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 4 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 5 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 6 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 7 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1567
|
expression: "format!(\"{}\", snapshot)"
|
||||||
expression: "format!(\"{}\", snapshot_count)"
|
|
||||||
---
|
---
|
||||||
2
|
00 (C): ┌ Pane #1 ───────────── SCROLL: 13/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
|
01 (C): │fill pane up with something 0 ││ │
|
||||||
|
02 (C): │fill pane up with something 1 ││ │
|
||||||
|
03 (C): │fill pane up with something 2 ││ │
|
||||||
|
04 (C): │fill pane up with something 3 ││ │
|
||||||
|
05 (C): │fill pane up with something 4 ││ │
|
||||||
|
06 (C): │fill pane up with something 5 ││ │
|
||||||
|
07 (C): │fill pane up with something 6 ││ │
|
||||||
|
08 (C): │fill pane up with something 7 ││ │
|
||||||
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
|
expression: "format!(\"{}\", snapshot_count)"
|
||||||
|
---
|
||||||
|
3
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
---
|
---
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
assertion_line: 1327
|
|
||||||
expression: "format!(\"{}\", snapshot)"
|
expression: "format!(\"{}\", snapshot)"
|
||||||
---
|
---
|
||||||
00 (C): ┌ Pane #1 ────────────── SCROLL: 1/13 ┐┌ Pane #2 ─────────────────────────────┐
|
00 (C): ┌ Pane #1 ────────────── SCROLL: 0/13 ┐┌ Pane #2 ─────────────────────────────┐
|
||||||
01 (C): │fill pane up with something 12 ││ │
|
01 (C): │fill pane up with something 13 ││ │
|
||||||
02 (C): │fill pane up with something 13 ││ │
|
02 (C): │fill pane up with something 14 ││ │
|
||||||
03 (C): │fill pane up with something 14 ││ │
|
03 (C): │fill pane up with something 15 ││ │
|
||||||
04 (C): │fill pane up with something 15 ││ │
|
04 (C): │fill pane up with something 16 ││ │
|
||||||
05 (C): │fill pane up with something 16 ││ │
|
05 (C): │fill pane up with something 17 ││ │
|
||||||
06 (C): │fill pane up with something 17 ││ │
|
06 (C): │fill pane up with something 18 ││ │
|
||||||
07 (C): │fill pane up with something 18 ││ │
|
07 (C): │fill pane up with something 19 ││ │
|
||||||
08 (C): │fill pane up with something 19 ││ │
|
08 (C): │ ││ │
|
||||||
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
09 (C): └──────────────────────────────────────┘└──────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,4 @@
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ApplyCachedResizes, ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([102, 111, 111], 0), Write([102, 111, 111], 1), ApplyCachedResizes, Exit]
|
[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ApplyCachedResizes, ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([102, 111, 111], 0), Write([102, 111, 111], 1), ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, Exit]
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,4 @@
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([102, 111, 111], 0), ApplyCachedResizes, Exit]
|
[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([102, 111, 111], 0), ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, Exit]
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,4 @@
|
||||||
source: zellij-server/src/./unit/screen_tests.rs
|
source: zellij-server/src/./unit/screen_tests.rs
|
||||||
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())"
|
||||||
---
|
---
|
||||||
[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([105, 110, 112, 117, 116, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 99, 108, 105], 0), ApplyCachedResizes, Exit]
|
[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([105, 110, 112, 117, 116, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 99, 108, 105], 0), ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, Exit]
|
||||||
|
|
|
||||||
|
|
@ -213,6 +213,7 @@ pub enum ScreenContext {
|
||||||
HandlePtyBytes,
|
HandlePtyBytes,
|
||||||
PluginBytes,
|
PluginBytes,
|
||||||
Render,
|
Render,
|
||||||
|
RenderToClients,
|
||||||
NewPane,
|
NewPane,
|
||||||
OpenInPlaceEditor,
|
OpenInPlaceEditor,
|
||||||
ToggleFloatingPanes,
|
ToggleFloatingPanes,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue