37 lines
657 B
Rust
37 lines
657 B
Rust
use dust_lang::*;
|
|
|
|
#[test]
|
|
fn loops_and_breaks() {
|
|
assert_eq!(
|
|
interpret(
|
|
"
|
|
i = 0;
|
|
loop {
|
|
if i == 3 {
|
|
break 'foobar'
|
|
} else {
|
|
i += 1
|
|
}
|
|
}
|
|
"
|
|
),
|
|
Ok(Some(Value::string("foobar".to_string())))
|
|
)
|
|
}
|
|
|
|
#[test]
|
|
fn r#if() {
|
|
assert_eq!(
|
|
interpret("if true 'foobar'"),
|
|
Ok(Some(Value::string("foobar".to_string())))
|
|
)
|
|
}
|
|
|
|
#[test]
|
|
fn if_else() {
|
|
assert_eq!(
|
|
interpret("if false 'foo' else 'bar'"),
|
|
Ok(Some(Value::string("bar".to_string())))
|
|
)
|
|
}
|