add more tests

This commit is contained in:
JT 2021-07-31 09:26:05 +12:00
parent 18752672d0
commit 79a05d63c8
2 changed files with 23 additions and 8 deletions

View File

@ -112,20 +112,25 @@ fn main() -> std::io::Result<()> {
} }
if let Some(path) = std::env::args().nth(1) { if let Some(path) = std::env::args().nth(1) {
let parser_state = parser_state.borrow(); let parser_state = parser_state;
let mut working_set = ParserWorkingSet::new(&*parser_state);
let file = std::fs::read(&path)?; let file = std::fs::read(&path)?;
let (block, err) = working_set.parse_file(&path, &file, false); let (block, delta) = {
let parser_state = parser_state.borrow();
let mut working_set = ParserWorkingSet::new(&*parser_state);
let (output, err) = working_set.parse_file(&path, &file, false);
if let Some(err) = err {
eprintln!("Error: {:?}", err);
std::process::exit(1);
}
(output, working_set.render())
};
if let Some(err) = err { ParserState::merge_delta(&mut *parser_state.borrow_mut(), delta);
eprintln!("Error: {:?}", err);
std::process::exit(1);
}
let state = State { let state = State {
parser_state: &*parser_state, parser_state: &*parser_state.borrow(),
}; };
let stack = Stack::new(); let stack = Stack::new();

View File

@ -61,3 +61,13 @@ fn add_simple2() -> TestResult {
fn broken_math() -> TestResult { fn broken_math() -> TestResult {
fail_test("3 + ", "Incomplete") fail_test("3 + ", "Incomplete")
} }
#[test]
fn if_test1() -> TestResult {
run_test("if $true { 10 } else { 20 } ", "10")
}
#[test]
fn if_test2() -> TestResult {
run_test("if $false { 10 } else { 20 } ", "20")
}