sim-codec-lisp 0.1.0-rc.1

SIM workspace package for sim codec lisp.
Documentation
use super::*;

#[test]
fn map_values_escape_operator_only_symbols() {
    let mut cx = cx();
    register_lisp_codec(&mut cx);
    let codec = Symbol::qualified("codec", "lisp");
    let expr = Expr::Map(vec![(
        Expr::Symbol(Symbol::new("symbol")),
        Expr::Symbol(Symbol::new("+")),
    )]);

    let encoded = encode_with_codec(&mut cx, &codec, &expr, Default::default())
        .unwrap()
        .into_text()
        .unwrap();
    assert_eq!(encoded, "(expr:map [symbol (expr:symbol nil \"+\")])");

    let decoded =
        decode_with_codec(&mut cx, &codec, Input::Text(encoded), ReadPolicy::default()).unwrap();
    assert_eq!(decoded, expr);
}