git.delta.rocks / jrsonnet / refs/commits / 11643ec5f009

difftreelog

source

crates/jrsonnet-evaluator/tests/sanity.rs1.1 KiBsourcehistory
1use std::path::PathBuf;23use jrsonnet_evaluator::{error::Result, throw_runtime, State, Val};45mod common;67#[test]8fn assert_positive() -> Result<()> {9	let s = State::default();10	s.with_stdlib();1112	let v = s.evaluate_snippet_raw(PathBuf::new().into(), "assert 1 == 1: 'fail'; null".into())?;13	ensure_val_eq!(s.clone(), v, Val::Null);14	let v = s.evaluate_snippet_raw(PathBuf::new().into(), "std.assertEqual(1, 1)".into())?;15	ensure_val_eq!(s.clone(), v, Val::Bool(true));1617	Ok(())18}1920#[test]21fn assert_negative() -> Result<()> {22	let s = State::default();23	s.with_stdlib();2425	{26		let e = match s27			.evaluate_snippet_raw(PathBuf::new().into(), "assert 1 == 2: 'fail'; null".into())28		{29			Ok(_) => throw_runtime!("assertion should fail"),30			Err(e) => e,31		};32		let e = s.stringify_err(&e);33		ensure!(e.starts_with("assert failed: fail\n"));34	}35	{36		let e = match s.evaluate_snippet_raw(PathBuf::new().into(), "std.assertEqual(1, 2)".into())37		{38			Ok(_) => throw_runtime!("assertion should fail"),39			Err(e) => e,40		};41		let e = s.stringify_err(&e);42		ensure!(e.starts_with("runtime error: Assertion failed. 1 != 2"))43	}4445	Ok(())46}