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

difftreelog

source

tests/tests/sanity.rs1.1 KiBsourcehistory
1use jrsonnet_evaluator::{2	bail,3	trace::{CompactFormat, TraceFormat},4	Result, State, Val,5};6use jrsonnet_stdlib::StateExt;78mod common;910#[test]11fn assert_positive() -> Result<()> {12	let s = State::default();13	s.with_stdlib();1415	let v = s.evaluate_snippet("snip".to_owned(), "assert 1 == 1: 'fail'; null")?;16	ensure_val_eq!(v, Val::Null);17	let v = s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 1)")?;18	ensure_val_eq!(v, Val::Bool(true));1920	Ok(())21}2223#[test]24fn assert_negative() -> Result<()> {25	let s = State::default();26	s.with_stdlib();27	let trace_format = CompactFormat::default();2829	{30		let Err(e) = s.evaluate_snippet("snip".to_owned(), "assert 1 == 2: 'fail'; null") else {31			bail!("assertion should fail");32		};33		let e = trace_format.format(&e).unwrap();34		ensure!(e.starts_with("assert failed: fail\n"));35	}36	{37		let Err(e) = s.evaluate_snippet("snip".to_owned(), "std.assertEqual(1, 2)") else {38			bail!("assertion should fail")39		};40		let e = trace_format.format(&e).unwrap();41		ensure!(e.starts_with("runtime error: Assertion failed. 1 != 2"))42	}4344	Ok(())45}