use std::time::Duration;
use crate::common::{attach_client, spawn_daemon, type_text, wait_for_output, TestEnv};
#[test]
#[ignore = "requires EZPN_TEST_SOCKET_DIR support in src/main.rs (#62 follow-up commit)"]
fn two_clients_share_output() {
let env = TestEnv::new();
let mut daemon = spawn_daemon(&env, "multi");
let mut client_a = attach_client(&daemon, 120, 40);
let mut client_b = attach_client(&daemon, 80, 24);
type_text(&mut client_a, "echo broadcast-from-A\n").expect("type from A");
wait_for_output(
&client_a.output(),
"broadcast-from-A",
Duration::from_secs(5),
)
.expect("client A never saw its own echo");
wait_for_output(
&client_b.output(),
"broadcast-from-A",
Duration::from_secs(5),
)
.expect("client B never received broadcast from A");
type_text(&mut client_b, "echo broadcast-from-B\n").expect("type from B");
wait_for_output(
&client_a.output(),
"broadcast-from-B",
Duration::from_secs(5),
)
.expect("client A never received broadcast from B");
daemon.shutdown();
}