use k9::assert_equal;
use ps1g::{parse_tokens, Result, Token, Variable};
#[test]
fn test_config_parse_no_tokens() -> Result<()> {
let tokens = parse_tokens(r"\u@\w$").unwrap();
assert_equal!(
tokens,
vec![
Token::Variable(Variable::Username),
Token::Unhandled("@".to_string()),
Token::Variable(Variable::PwdShort),
Token::Variable(Variable::PromptEnd),
]
);
Ok(())
}
#[test]
fn test_config_parse_color_token() -> Result<()> {
let tokens = parse_tokens(r"{79}\u @ \w \${reset}").unwrap();
assert_equal!(
tokens,
vec![
Token::Color(79,),
Token::Variable(Variable::Username),
Token::Unhandled(" @ ".to_string()),
Token::Variable(Variable::PwdShort),
Token::Unhandled(" ".to_string()),
Token::Variable(Variable::PromptEnd),
Token::AnsiReset,
]
);
Ok(())
}
#[test]
fn test_config_parse_variable() -> Result<()> {
let tokens = parse_tokens(r"\u@").unwrap();
assert_equal!(
tokens,
vec![
Token::Variable(Variable::Username),
Token::Unhandled("@".to_string()),
]
);
Ok(())
}