#[allow(dead_code)]
#[macro_use]
mod common;
#[cfg(unix)]
use common::tmux::Keys::*;
#[cfg(unix)]
sk_test!(test_ansi_flag_enabled, @cmd "echo -e 'plain\\n\\x1b[31mred\\x1b[0m\\n\\x1b[32mgreen\\x1b[0m'", &["--ansi", "--color", "current_match_bg:1,current_bg:2"], {
@capture[0] starts_with(">");
@lines |l| (l.len() >= 3 && l.iter().any(|line| line.contains("plain")));
@keys Key('d');
@capture[2] starts_with("> red");
@capture_colored[*] contains("mre\u{1b}");
@keys Enter;
@output[*] trim().eq("red");
});
#[cfg(unix)]
sk_test!(test_ansi_flag_disabled, @cmd "echo -e 'plain\\n\\x1b[31mred\\x1b[0m\\n\\x1b[32mgreen\\x1b[0m'", &[], {
@capture[0] starts_with(">");
@capture[*] contains("plain");
@keys Str("red");
@capture[2] eq("> ?[31mred?[0m");
@keys Enter;
});
#[cfg(unix)]
sk_test!(test_ansi_matching_on_stripped_text, @cmd "echo -e '\\x1b[32mgreen\\x1b[0m text\\n\\x1b[31mred\\x1b[0m text\\nplain text'", &["--ansi"], {
@capture[0] starts_with(">");
@lines |l| (l.len() >= 3 && l.iter().any(|line| line.contains("plain")));
@keys Str("text");
@capture[2] contains("red text");
@capture[3] contains("green text");
@capture[4] contains("plain text");
@keys Ctrl(&Key('u')), Str("green");
@capture[2] contains("green");
@lines |l| (l.len() == 3);
});
#[cfg(unix)]
sk_test!(test_ansi_flag_no_strip, @cmd "echo -e 'plain\\n\\x1b[31mred\\x1b[0m\\n\\x1b[32mgreen\\x1b[0m'", &["--ansi", "--no-strip-ansi", "--color", "current_match_bg:1,current_bg:2"], {
@capture[0] starts_with(">");
@lines |l| (l.len() >= 3 && l.iter().any(|line| line.contains("plain")));
@keys Key('d');
@capture[2] starts_with("> red");
@capture_colored[*] contains("mre\u{1b}");
@keys Enter;
@output[*] contains("mred\u{1b}");
});
insta_test!(test_prompt_ansi, ["a"], &["--prompt", "\x1b[1;34mprompt\x1b[0m nocol"], {
@snap;
});