Add language options.

This commit is contained in:
Stephen Chung
2021-12-03 11:16:35 +08:00
parent 9a5bd9396a
commit 7cd76c6d18
9 changed files with 151 additions and 23 deletions

26
tests/options.rs Normal file
View File

@@ -0,0 +1,26 @@
use rhai::{Engine, EvalAltResult};
#[test]
fn test_options() -> Result<(), Box<EvalAltResult>> {
let mut engine = Engine::new();
engine.compile("let x = if y { z } else { w };")?;
engine.set_allow_if_expression(false);
assert!(engine.compile("let x = if y { z } else { w };").is_err());
engine.compile("let x = { let z = 0; z + 1 };")?;
engine.set_allow_statement_expression(false);
assert!(engine.compile("let x = { let z = 0; z + 1 };").is_err());
engine.compile("let x = || 42;")?;
engine.set_allow_anonymous_fn(false);
assert!(engine.compile("let x = || 42;").is_err());
Ok(())
}