Start moving over eval tests
This commit is contained in:
parent
96595d8fb6
commit
856a0808de
@ -27,50 +27,6 @@ macro_rules! test_in_fresh_env {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_basic_eval() {
|
|
||||||
test_in_fresh_env!("1 + 2", "3");
|
|
||||||
test_in_fresh_env!("let mut a = 1; a = 2", "()");
|
|
||||||
/*
|
|
||||||
test_in_fresh_env!("let mut a = 1; a = 2; a", "2");
|
|
||||||
test_in_fresh_env!(r#"("a", 1 + 2)"#, r#"("a", 3)"#);
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn op_eval() {
|
|
||||||
test_in_fresh_env!("- 13", "-13");
|
|
||||||
test_in_fresh_env!("10 - 2", "8");
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn function_eval() {
|
|
||||||
test_in_fresh_env!("fn oi(x) { x + 1 }; oi(4)", "5");
|
|
||||||
test_in_fresh_env!("fn oi(x) { x + 1 }; oi(1+2)", "4");
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn scopes() {
|
|
||||||
let scope_ok = r#"
|
|
||||||
let a = 20
|
|
||||||
fn haha() {
|
|
||||||
let a = 10
|
|
||||||
a
|
|
||||||
}
|
|
||||||
haha()
|
|
||||||
"#;
|
|
||||||
test_in_fresh_env!(scope_ok, "10");
|
|
||||||
let scope_ok = r#"
|
|
||||||
let a = 20
|
|
||||||
fn queque() {
|
|
||||||
let a = 10
|
|
||||||
a
|
|
||||||
}
|
|
||||||
a
|
|
||||||
"#;
|
|
||||||
test_in_fresh_env!(scope_ok, "20");
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn if_is_patterns() {
|
fn if_is_patterns() {
|
||||||
let source = r#"
|
let source = r#"
|
||||||
|
@ -21,4 +21,47 @@ fn eval_assert(input: &str, expected: &str) {
|
|||||||
fn test_basic_eval() {
|
fn test_basic_eval() {
|
||||||
eval_assert("1 + 2", "3");
|
eval_assert("1 + 2", "3");
|
||||||
//eval_assert("let mut a = 1; a = 2", "()");
|
//eval_assert("let mut a = 1; a = 2", "()");
|
||||||
|
/*
|
||||||
|
test_in_fresh_env!("let mut a = 1; a = 2; a", "2");
|
||||||
|
test_in_fresh_env!(r#"("a", 1 + 2)"#, r#"("a", 3)"#);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn op_eval() {
|
||||||
|
eval_assert("- 13", "-13");
|
||||||
|
eval_assert("10 - 2", "8");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn function_eval() {
|
||||||
|
eval_assert("fn oi(x) { x + 1 }; oi(4)", "5");
|
||||||
|
eval_assert("fn oi(x) { x + 1 }; oi(1+2)", "4");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn scopes() {
|
||||||
|
/*
|
||||||
|
let scope_ok = r#"
|
||||||
|
let a = 20
|
||||||
|
fn haha() {
|
||||||
|
let a = 10
|
||||||
|
a
|
||||||
|
}
|
||||||
|
haha()
|
||||||
|
"#;
|
||||||
|
|
||||||
|
eval_assert(scope_ok, "10");
|
||||||
|
|
||||||
|
let scope_ok = r#"
|
||||||
|
let a = 20
|
||||||
|
fn queque() {
|
||||||
|
let a = 10
|
||||||
|
a
|
||||||
|
}
|
||||||
|
a
|
||||||
|
"#;
|
||||||
|
eval_assert(scope_ok, "20");
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user