Lines
100 %
Functions
Branches
use super::*;
fn printed_eval_result(src: &str) -> Option<String> {
let program = nomiscript::Reader::parse(src).unwrap();
run_nomiscript_eval(&program)
.map(nomiscript::Value::from)
.map(|value| nomiscript::format_value(&value))
}
#[test]
fn a_true_bool_result_decodes_and_prints_as_t() {
assert_eq!(printed_eval_result("(= 1 1)").as_deref(), Some("t"));
fn a_false_bool_result_decodes_and_prints_as_nil() {
assert_eq!(printed_eval_result("(= 1 2)").as_deref(), Some("nil"));
fn a_null_pair_result_decodes_as_nil() {
let engine = build_engine(EngineOpts::baseline()).unwrap();
let mut store: Store<()> = Store::new(&engine, ());
let decoded = decode_eval_result(
&mut store,
None,
Some(nomiscript::WasmType::PairRef(nomiscript::PairElement::I32)),
)
.unwrap();
assert_eq!(decoded, EvalValue::Nil);