rhai/tests/chars.rs

26 lines
708 B
Rust
Raw Normal View History

2020-03-02 15:11:56 +01:00
use rhai::{Engine, EvalAltResult};
2017-11-03 17:58:51 +01:00
#[test]
fn test_chars() -> Result<(), Box<EvalAltResult>> {
let engine = Engine::new();
2017-11-03 17:58:51 +01:00
2020-03-02 15:11:56 +01:00
assert_eq!(engine.eval::<char>("'y'")?, 'y');
2020-04-11 06:46:10 +02:00
assert_eq!(engine.eval::<char>(r"'\''")?, '\'');
assert_eq!(engine.eval::<char>(r#"'"'"#)?, '"');
2020-03-02 15:11:56 +01:00
assert_eq!(engine.eval::<char>("'\\u2764'")?, '❤');
#[cfg(not(feature = "no_index"))]
{
assert_eq!(engine.eval::<char>(r#"let x="hello"; x[2]"#)?, 'l');
assert_eq!(
2020-03-13 11:12:41 +01:00
engine.eval::<String>(r#"let y="hello"; y[2]='$'; y"#)?,
"he$lo"
);
}
2020-03-01 06:30:22 +01:00
2020-03-13 11:12:41 +01:00
assert!(engine.eval::<char>(r"'\uhello'").is_err());
2020-03-02 15:11:56 +01:00
assert!(engine.eval::<char>("''").is_err());
2017-11-03 17:58:51 +01:00
2020-03-02 15:11:56 +01:00
Ok(())
}