1use jrsonnet_evaluator::{error::Result, throw_runtime, State, Val};23mod common;45#[test]6fn assert_positive() -> Result<()> {7 let s = State::default();8 s.with_stdlib();910 let v = s.evaluate_snippet("snip".to_owned(), "assert 1 == 1: 'fail'; null".into())?;11 ensure_val_eq!(s, v, Val::Null);12 let v = s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 1)".into())?;13 ensure_val_eq!(s, v, Val::Bool(true));1415 Ok(())16}1718#[test]19fn assert_negative() -> Result<()> {20 let s = State::default();21 s.with_stdlib();2223 {24 let e = match s.evaluate_snippet("snip".to_owned(), "assert 1 == 2: 'fail'; null".into()) {25 Ok(_) => throw_runtime!("assertion should fail"),26 Err(e) => e,27 };28 let e = s.stringify_err(&e);29 ensure!(e.starts_with("assert failed: fail\n"));30 }31 {32 let e = match s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 2)".into()) {33 Ok(_) => throw_runtime!("assertion should fail"),34 Err(e) => e,35 };36 let e = s.stringify_err(&e);37 ensure!(e.starts_with("runtime error: Assertion failed. 1 != 2"))38 }3940 Ok(())41}