git.delta.rocks / jrsonnet / refs/commits / cfd533ff0e2c

difftreelog

source

crates/jrsonnet-evaluator/tests/sanity.rs1.0 KiBsourcehistory
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}