rhai/tests/chars.rs

20 lines
542 B
Rust
Raw Normal View History

2020-03-02 22:11:56 +08:00
use rhai::{Engine, EvalAltResult};
2017-11-03 09:58:51 -07:00
#[test]
2020-03-02 22:11:56 +08:00
fn test_chars() -> Result<(), EvalAltResult> {
2017-11-03 09:58:51 -07:00
let mut engine = Engine::new();
2020-03-02 22:11:56 +08:00
assert_eq!(engine.eval::<char>("'y'")?, 'y');
assert_eq!(engine.eval::<char>("'\\u2764'")?, '❤');
assert_eq!(engine.eval::<char>(r#"let x="hello"; x[2]"#)?, 'l');
2020-03-01 13:30:22 +08:00
assert_eq!(
2020-03-02 22:11:56 +08:00
engine.eval::<String>(r#"let x="hello"; x[2]='$'; x"#)?,
"he$lo".to_string()
2020-03-01 13:30:22 +08:00
);
2020-03-02 22:11:56 +08:00
assert!(engine.eval::<char>("'\\uhello'").is_err());
assert!(engine.eval::<char>("''").is_err());
2017-11-03 09:58:51 -07:00
2020-03-02 22:11:56 +08:00
Ok(())
}