From 954f971ddf059ae3871a75139b65c40b4ceaa959 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 13 Jun 2020 21:57:46 +0800 Subject: [PATCH] New optimizer test. --- tests/optimizer.rs | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/tests/optimizer.rs b/tests/optimizer.rs index 49b15c25..828b0da4 100644 --- a/tests/optimizer.rs +++ b/tests/optimizer.rs @@ -3,7 +3,7 @@ use rhai::{Engine, EvalAltResult, OptimizationLevel, INT}; #[test] -fn test_optimizer() -> Result<(), Box> { +fn test_optimizer_run() -> Result<(), Box> { fn run_test(engine: &mut Engine) -> Result<(), Box> { assert_eq!(engine.eval::(r"if true { 42 } else { 123 }")?, 42); assert_eq!( @@ -30,3 +30,27 @@ fn test_optimizer() -> Result<(), Box> { Ok(()) } + +#[test] +fn test_optimizer_parse() -> Result<(), Box> { + let mut engine = Engine::new(); + engine.set_optimization_level(OptimizationLevel::Simple); + + let ast = engine.compile("{ const DECISION = false; if DECISION { 42 } }")?; + + assert_eq!( + format!("{:?}", ast), + "AST([], )" + ); + + engine.set_optimization_level(OptimizationLevel::Full); + + let ast = engine.compile("if 1 == 2 { 42 }")?; + + assert_eq!( + format!("{:?}", ast), + "AST([], )" + ); + + Ok(()) +}