Lines
100 %
Functions
Branches
use nomiscript::{Reader, SymbolTable, Value, eval_program};
fn eval_str(src: &str) -> Value {
let program = Reader::parse(src).unwrap();
eval_program(&mut SymbolTable::with_builtins(), &program).unwrap()
}
#[test]
fn a_quoted_list_ending_in_nil_prints_as_a_proper_list() {
assert_eq!(eval_str("'(a . nil)"), Value::String("(A)".into()));
assert_eq!(eval_str("'(1 . (2 3))"), Value::String("(1 2 3)".into()));
fn a_quoted_dotted_pair_keeps_its_dot() {
assert_eq!(eval_str("'(1 . 2)"), Value::String("(1 . 2)".into()));