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

difftreelog

source

tests/tests/sanity.rs1.0 KiBsourcehistory
1use jrsonnet_evaluator::{error::Result, throw_runtime, State, Val};2use jrsonnet_stdlib::StateExt;34mod common;56#[test]7fn assert_positive() -> Result<()> {8	let s = State::default();9	s.with_stdlib();1011	let v = s.evaluate_snippet("snip".to_owned(), "assert 1 == 1: 'fail'; null")?;12	ensure_val_eq!(s, v, Val::Null);13	let v = s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 1)")?;14	ensure_val_eq!(s, v, Val::Bool(true));1516	Ok(())17}1819#[test]20fn assert_negative() -> Result<()> {21	let s = State::default();22	s.with_stdlib();2324	{25		let e = match s.evaluate_snippet("snip".to_owned(), "assert 1 == 2: 'fail'; null") {26			Ok(_) => throw_runtime!("assertion should fail"),27			Err(e) => e,28		};29		let e = s.stringify_err(&e);30		ensure!(e.starts_with("assert failed: fail\n"));31	}32	{33		let e = match s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 2)") {34			Ok(_) => throw_runtime!("assertion should fail"),35			Err(e) => e,36		};37		let e = s.stringify_err(&e);38		ensure!(e.starts_with("runtime error: Assertion failed. 1 != 2"))39	}4041	Ok(())42}