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

difftreelog

source

tests/tests/sanity.rs1.1 KiBsourcehistory
1use jrsonnet_evaluator::{2	error::Result,3	throw,4	trace::{CompactFormat, TraceFormat},5	State, Val,6};7use jrsonnet_stdlib::StateExt;89mod common;1011#[test]12fn assert_positive() -> Result<()> {13	let s = State::default();14	s.with_stdlib();1516	let v = s.evaluate_snippet("snip".to_owned(), "assert 1 == 1: 'fail'; null")?;17	ensure_val_eq!(v, Val::Null);18	let v = s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 1)")?;19	ensure_val_eq!(v, Val::Bool(true));2021	Ok(())22}2324#[test]25fn assert_negative() -> Result<()> {26	let s = State::default();27	s.with_stdlib();28	let trace_format = CompactFormat::default();2930	{31		let Err(e) = s.evaluate_snippet("snip".to_owned(), "assert 1 == 2: 'fail'; null") else {32			throw!("assertion should fail");33		};34		let e = trace_format.format(&e).unwrap();35		ensure!(e.starts_with("assert failed: fail\n"));36	}37	{38		let Err(e) = s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 2)") else {39			throw!("assertion should fail")40		};41		let e = trace_format.format(&e).unwrap();42		ensure!(e.starts_with("runtime error: Assertion failed. 1 != 2"))43	}4445	Ok(())46}