1
use super::*;
2

            
3
2
fn printed_eval_result(src: &str) -> Option<String> {
4
2
    let program = nomiscript::Reader::parse(src).unwrap();
5
2
    run_nomiscript_eval(&program)
6
2
        .map(nomiscript::Value::from)
7
2
        .map(|value| nomiscript::format_value(&value))
8
2
}
9

            
10
#[test]
11
1
fn a_true_bool_result_decodes_and_prints_as_t() {
12
1
    assert_eq!(printed_eval_result("(= 1 1)").as_deref(), Some("t"));
13
1
}
14

            
15
#[test]
16
1
fn a_false_bool_result_decodes_and_prints_as_nil() {
17
1
    assert_eq!(printed_eval_result("(= 1 2)").as_deref(), Some("nil"));
18
1
}
19

            
20
#[test]
21
1
fn a_null_pair_result_decodes_as_nil() {
22
1
    let engine = build_engine(EngineOpts::baseline()).unwrap();
23
1
    let mut store: Store<()> = Store::new(&engine, ());
24
1
    let decoded = decode_eval_result(
25
1
        &mut store,
26
1
        None,
27
1
        Some(nomiscript::WasmType::PairRef(nomiscript::PairElement::I32)),
28
    )
29
1
    .unwrap();
30
1
    assert_eq!(decoded, EvalValue::Nil);
31
1
}