Add constants.
This commit is contained in:
@@ -11,12 +11,12 @@ fn test_chars() -> Result<(), EvalAltResult> {
|
||||
{
|
||||
assert_eq!(engine.eval::<char>(r#"let x="hello"; x[2]"#)?, 'l');
|
||||
assert_eq!(
|
||||
engine.eval::<String>(r#"let x="hello"; x[2]='$'; x"#)?,
|
||||
engine.eval::<String>(r#"let y="hello"; y[2]='$'; y"#)?,
|
||||
"he$lo".to_string()
|
||||
);
|
||||
}
|
||||
|
||||
assert!(engine.eval::<char>("'\\uhello'").is_err());
|
||||
assert!(engine.eval::<char>(r"'\uhello'").is_err());
|
||||
assert!(engine.eval::<char>("''").is_err());
|
||||
|
||||
Ok(())
|
||||
|
16
tests/constants.rs
Normal file
16
tests/constants.rs
Normal file
@@ -0,0 +1,16 @@
|
||||
use rhai::{Engine, EvalAltResult};
|
||||
|
||||
#[test]
|
||||
fn test_constant() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("const x = 123; x")?, 123);
|
||||
|
||||
match engine.eval::<i64>("const x = 123; x = 42; x") {
|
||||
Err(EvalAltResult::ErrorAssignmentToConstant(var, _)) if var == "x" => (),
|
||||
Err(err) => return Err(err),
|
||||
Ok(_) => panic!("expecting compilation error"),
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
Reference in New Issue
Block a user