difftreelog
test use insta for jrsonnet own golden testsuite
in: master
39 files changed
Cargo.lockdiffbeforeafterboth1413name = "tests"1413name = "tests"1414version = "0.1.0"1414version = "0.1.0"1415dependencies = [1415dependencies = [1416 "insta",1416 "jrsonnet-evaluator",1417 "jrsonnet-evaluator",1417 "jrsonnet-gcmodule",1418 "jrsonnet-gcmodule",1418 "jrsonnet-stdlib",1419 "jrsonnet-stdlib",tests/Cargo.tomldiffbeforeafterboth15json-structural-diff.workspace = true15json-structural-diff.workspace = true16serde_json.workspace = true16serde_json.workspace = true1718[dev-dependencies]19insta.workspace = true1720tests/golden/array_comp.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/builtin_json.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/builtin_json_minified.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/builtin_parseJson.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/builtin_strings.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/builtin_strings_string.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue126.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue153.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue172.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue187.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue187.rev.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue188.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue195.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue23.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/issue40.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/missing_binding.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/object_comp.jsonnet.goldendiffbeforeafterbothno changes
tests/golden/test_assertThrow.jsonnet.goldendiffbeforeafterbothno changes
tests/tests/golden.rsdiffbeforeafterboth1use std::{1use std::path::Path;2 fs, io,23 path::{Path, PathBuf},3use insta::{assert_snapshot, glob};4};56use jrsonnet_evaluator::{4use jrsonnet_evaluator::{7 FileImportResolver, State,5 FileImportResolver, State,40}38}413942#[test]40#[test]43fn test() -> io::Result<()> {41fn golden() {44 use json_structural_diff::JsonDiff;4546 let mut root = PathBuf::from(env!("CARGO_MANIFEST_DIR"));47 root.push("golden");4849 for entry in fs::read_dir(&root)? {50 let entry = entry?;51 if !entry.path().extension().map_or(false, |e| e == "jsonnet") {52 continue;53 }5455 let result = run(&entry.path());5657 let mut golden_path = entry.path();58 golden_path.set_extension("jsonnet.golden");5960 if !golden_path.exists() {61 fs::write(golden_path, &result)?;62 continue;63 }6465 let golden = fs::read_to_string(golden_path)?;6667 match (serde_json::from_str(&result), serde_json::from_str(&golden)) {68 (Err(_), Ok(_)) => assert_eq!(69 result,70 golden,71 "unexpected error for golden {}",72 entry.path().display()73 ),74 (Ok(_), Err(_)) => assert_eq!(42 glob!("../", "golden/*.jsonnet", |path| {75 result,76 golden,77 "expected error for golden {}",78 entry.path().display()79 ),80 (Ok(result), Ok(golden)) => {81 // Show diff relative to golden`.82 let diff = JsonDiff::diff_string(&golden, &result, false);43 let result = run(&path);83 if let Some(diff) = diff {4484 panic!(45 assert_snapshot!(result)85 "Result \n{result:#}\n\86 and golden \n{golden:#}\n\87 did not match structurally:\n{diff:#}\n\88 for golden {}",89 entry.path().display()90 );91 }92 }46 });93 (Err(_), Err(_)) => {}94 };47}9596 assert_eq!(97 result,98 golden,99 "golden didn't match for {}",100 entry.path().display()101 );102 }103104 Ok(())105}10648tests/tests/snapshots/golden__golden@array_comp.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@builtin_json.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@builtin_json_minified.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@builtin_parseJson.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@builtin_strings.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@builtin_strings_string.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue126.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue153.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue172.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue187.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue187.rev.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue188.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue195.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue23.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@issue40.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@missing_binding.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@object_comp.jsonnet.snapdiffbeforeafterbothno changes
tests/tests/snapshots/golden__golden@test_assertThrow.jsonnet.snapdiffbeforeafterbothno changes