use rhai::{Engine, EvalAltResult}; #[test] fn test_string() -> Result<(), EvalAltResult> { let engine = Engine::new(); assert_eq!( engine.eval::(r#""Test string: \u2764""#)?, "Test string: ❤" ); assert_eq!( engine.eval::(r#""Test string: \x58""#)?, "Test string: X" ); assert_eq!(engine.eval::(r#""foo" + "bar""#)?, "foobar"); assert!(engine.eval::(r#"let y = "hello, world!"; "world" in y"#)?); assert!(engine.eval::(r#"let y = "hello, world!"; 'w' in y"#)?); assert!(!engine.eval::(r#"let y = "hello, world!"; "hey" in y"#)?); #[cfg(not(feature = "no_stdlib"))] assert_eq!(engine.eval::(r#""foo" + 123"#)?, "foo123"); #[cfg(not(feature = "no_stdlib"))] assert_eq!(engine.eval::("(42).to_string()")?, "42"); #[cfg(not(feature = "no_float"))] #[cfg(not(feature = "no_stdlib"))] assert_eq!(engine.eval::(r#""foo" + 123.4556"#)?, "foo123.4556"); Ok(()) }