git.delta.rocks / jrsonnet / refs/commits / 6fbe7c61b4ca

difftreelog

source

tests/tests/golden.rs1.4 KiBsourcehistory
1use std::path::Path;23use insta::{assert_snapshot, glob};4use jrsonnet_evaluator::{5	FileImportResolver, State,6	manifest::JsonFormat,7	trace::{CompactFormat, PathResolver, TraceFormat},8};9use jrsonnet_stdlib::ContextInitializer;10mod common;11use common::ContextInitializer as TestContextInitializer;1213fn run(file: &Path) -> String {14	let mut s = State::builder();15	s.context_initializer((16		ContextInitializer::new(PathResolver::new_cwd_fallback()),17		TestContextInitializer,18	))19	.import_resolver(FileImportResolver::default());20	let s = s.build();2122	let _entered = s.enter();2324	let trace_format = CompactFormat {25		resolver: PathResolver::FileName,26		max_trace: 20,27		padding: 4,28	};2930	let v = match s.import(file) {31		Ok(v) => v,32		Err(e) => return trace_format.format(&e).unwrap(),33	};34	match v.manifest(JsonFormat::default()) {35		Ok(v) => v,36		Err(e) => trace_format.format(&e).unwrap(),37	}38}3940#[test]41fn golden() {42	glob!("../", "golden/*.jsonnet", |path| {43		let result = run(path);4445		assert_snapshot!(result);46	});47}4849#[test]50#[cfg(feature = "exp-null-coaelse")]51fn golden_null_coalesce() {52	glob!("../", "golden_null_coalesce/*.jsonnet", |path| {53		let result = run(path);5455		assert_snapshot!(result);56	});57}5859#[test]60#[cfg(feature = "exp-destruct")]61fn golden_destruct() {62	glob!("../", "golden_destruct/*.jsonnet", |path| {63		let result = run(path);6465		assert_snapshot!(result);66	});67}