Add fast-ops feature.
This commit is contained in:
@@ -169,6 +169,22 @@ fn test_arrays() -> Result<(), Box<EvalAltResult>> {
|
||||
"
|
||||
)?);
|
||||
|
||||
let value = vec![
|
||||
String::from("hello"),
|
||||
String::from("world"),
|
||||
String::from("foo"),
|
||||
String::from("bar"),
|
||||
];
|
||||
|
||||
let array: Dynamic = value.into();
|
||||
|
||||
assert_eq!(array.type_name(), "array");
|
||||
|
||||
let array = array.cast::<Array>();
|
||||
|
||||
assert_eq!(array[0].type_name(), "string");
|
||||
assert_eq!(array.len(), 4);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
@@ -49,21 +49,24 @@ fn test_optimizer_run() -> Result<(), Box<EvalAltResult>> {
|
||||
run_test(&mut engine)?;
|
||||
|
||||
// Override == operator
|
||||
engine.register_fn("==", |_x: INT, _y: INT| false);
|
||||
#[cfg(not(feature = "fast_ops"))]
|
||||
{
|
||||
engine.register_fn("==", |_x: INT, _y: INT| false);
|
||||
|
||||
engine.set_optimization_level(OptimizationLevel::Simple);
|
||||
engine.set_optimization_level(OptimizationLevel::Simple);
|
||||
|
||||
assert_eq!(
|
||||
engine.eval::<INT>("if 1 == 1 || 2 > 3 { 42 } else { 123 }")?,
|
||||
123
|
||||
);
|
||||
assert_eq!(
|
||||
engine.eval::<INT>("if 1 == 1 || 2 > 3 { 42 } else { 123 }")?,
|
||||
123
|
||||
);
|
||||
|
||||
engine.set_optimization_level(OptimizationLevel::Full);
|
||||
engine.set_optimization_level(OptimizationLevel::Full);
|
||||
|
||||
assert_eq!(
|
||||
engine.eval::<INT>("if 1 == 1 || 2 > 3 { 42 } else { 123 }")?,
|
||||
123
|
||||
);
|
||||
assert_eq!(
|
||||
engine.eval::<INT>("if 1 == 1 || 2 > 3 { 42 } else { 123 }")?,
|
||||
123
|
||||
);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user