1
use nomiscript::{Reader, SymbolTable, Value, eval_program};
2

            
3
3
fn eval_str(src: &str) -> Value {
4
3
    let program = Reader::parse(src).unwrap();
5
3
    eval_program(&mut SymbolTable::with_builtins(), &program).unwrap()
6
3
}
7

            
8
#[test]
9
1
fn a_quoted_list_ending_in_nil_prints_as_a_proper_list() {
10
1
    assert_eq!(eval_str("'(a . nil)"), Value::String("(A)".into()));
11
1
    assert_eq!(eval_str("'(1 . (2 3))"), Value::String("(1 2 3)".into()));
12
1
}
13

            
14
#[test]
15
1
fn a_quoted_dotted_pair_keeps_its_dot() {
16
1
    assert_eq!(eval_str("'(1 . 2)"), Value::String("(1 . 2)".into()));
17
1
}