use nu_test_support::prelude::*;
#[test]
fn test_ansi_shows_error_on_escape() -> Result {
let err = test().run(r"ansi --escape \").expect_shell_error()?;
match err {
ShellError::TypeMismatch { err_message, .. }
if err_message == "no need for escape characters" =>
{
Ok(())
}
err => Err(err.into()),
}
}
#[test]
fn test_ansi_list_outputs_table() -> Result {
test().run("ansi --list | length").expect_value_eq(440)
}
#[test]
fn test_ansi_codes() -> Result {
test()
.run("$'(ansi clear_scrollback_buffer)'")
.expect_value_eq("\x1b[3J")?;
test()
.run("$'(ansi { fg: red, bg: \"#00ff00\" })Hello(ansi reset)'")
.expect_value_eq("\x1b[48;2;0;255;0;31mHello\x1b[0m")
}