boon test suite itself passing

This commit is contained in:
2025-09-30 20:19:41 -04:00
parent 491fb3a3e3
commit aa58082cd7
5 changed files with 13 additions and 13 deletions

View File

@ -10,7 +10,7 @@ let mut schemas = Schemas::new(); // container for compiled schemas
let mut compiler = Compiler::new();
let sch_index = compiler.compile("schema.json", &mut schemas)?;
let instance: Value = serde_json::from_reader(File::open("instance.json")?)?;
let valid = schemas.validate(&instance, sch_index).is_ok();
let valid = schemas.validate(&instance, sch_index, None).is_ok();
# Ok(())
# }
```

View File

@ -15,7 +15,7 @@ fn test_debug() -> Result<(), Box<dyn Error>> {
let url = "http://debug.com/schema.json";
compiler.add_resource(url, test["schema"].clone())?;
let sch = compiler.compile(url, &mut schemas)?;
let result = schemas.validate(&test["data"], sch);
let result = schemas.validate(&test["data"], sch, None);
if let Err(e) = &result {
for line in format!("{e}").lines() {
println!(" {line}");

View File

@ -13,7 +13,7 @@ fn example_from_files() -> Result<(), Box<dyn Error>> {
let mut schemas = Schemas::new();
let mut compiler = Compiler::new();
let sch_index = compiler.compile(schema_file, &mut schemas)?;
let result = schemas.validate(&instance, sch_index);
let result = schemas.validate(&instance, sch_index, None);
assert!(result.is_ok());
Ok(())
@ -51,7 +51,7 @@ fn example_from_strings() -> Result<(), Box<dyn Error>> {
compiler.add_resource("tests/examples/pet.json", pet_schema)?;
compiler.add_resource("tests/examples/cat.json", cat_schema)?;
let sch_index = compiler.compile("tests/examples/pet.json", &mut schemas)?;
let result = schemas.validate(&instance, sch_index);
let result = schemas.validate(&instance, sch_index, None);
assert!(result.is_ok());
Ok(())
@ -79,7 +79,7 @@ fn example_from_https() -> Result<(), Box<dyn Error>> {
loader.register("https", Box::new(HttpUrlLoader));
compiler.use_loader(Box::new(loader));
let sch_index = compiler.compile(schema_url, &mut schemas)?;
let result = schemas.validate(&instance, sch_index);
let result = schemas.validate(&instance, sch_index, None);
assert!(result.is_ok());
Ok(())
@ -114,7 +114,7 @@ fn example_from_yaml_files() -> Result<(), Box<dyn Error>> {
loader.register("file", Box::new(FileUrlLoader));
compiler.use_loader(Box::new(loader));
let sch_index = compiler.compile(schema_file, &mut schemas)?;
let result = schemas.validate(&instance, sch_index);
let result = schemas.validate(&instance, sch_index, None);
assert!(result.is_ok());
Ok(())
@ -148,7 +148,7 @@ fn example_custom_format() -> Result<(), Box<dyn Error>> {
});
compiler.add_resource(schema_url, schema)?;
let sch_index = compiler.compile(schema_url, &mut schemas)?;
let result = schemas.validate(&instance, sch_index);
let result = schemas.validate(&instance, sch_index, None);
assert!(result.is_ok());
Ok(())
@ -193,7 +193,7 @@ fn example_custom_content_encoding() -> Result<(), Box<dyn Error>> {
});
compiler.add_resource(schema_url, schema)?;
let sch_index = compiler.compile(schema_url, &mut schemas)?;
let result = schemas.validate(&instance, sch_index);
let result = schemas.validate(&instance, sch_index, None);
assert!(result.is_err());
Ok(())
@ -223,7 +223,7 @@ fn example_custom_content_media_type() -> Result<(), Box<dyn Error>> {
});
compiler.add_resource(schema_url, schema)?;
let sch_index = compiler.compile(schema_url, &mut schemas)?;
let result = schemas.validate(&instance, sch_index);
let result = schemas.validate(&instance, sch_index, None);
assert!(result.is_ok());
Ok(())

View File

@ -52,7 +52,7 @@ fn test_folder(suite: &str, folder: &str, draft: Draft) -> Result<(), Box<dyn Er
let sch = compiler.compile(schema_url, &mut schemas)?;
for test in group.tests {
println!(" {}", test.description);
match schemas.validate(&test.data, sch) {
match schemas.validate(&test.data, sch, None) {
Ok(_) => println!(" validation success"),
Err(e) => {
if let Some(sch) = test.output.basic {
@ -64,7 +64,7 @@ fn test_folder(suite: &str, folder: &str, draft: Draft) -> Result<(), Box<dyn Er
compiler.add_resource(schema_url, sch)?;
let sch = compiler.compile(schema_url, &mut schemas)?;
let basic: Value = serde_json::from_str(&e.basic_output().to_string())?;
let result = schemas.validate(&basic, sch);
let result = schemas.validate(&basic, sch, None);
if let Err(e) = result {
println!("{basic:#}\n");
for line in format!("{e}").lines() {
@ -83,7 +83,7 @@ fn test_folder(suite: &str, folder: &str, draft: Draft) -> Result<(), Box<dyn Er
let sch = compiler.compile(schema_url, &mut schemas)?;
let detailed: Value =
serde_json::from_str(&e.detailed_output().to_string())?;
let result = schemas.validate(&detailed, sch);
let result = schemas.validate(&detailed, sch, None);
if let Err(e) = result {
println!("{detailed:#}\n");
for line in format!("{e}").lines() {

View File

@ -90,7 +90,7 @@ fn test_file(suite: &str, path: &str, draft: Draft) -> Result<(), Box<dyn Error>
let sch_index = compiler.compile(url, &mut schemas)?;
for test in group.tests {
println!(" {}", test.description);
let result = schemas.validate(&test.data, sch_index);
let result = schemas.validate(&test.data, sch_index, None);
if let Err(e) = &result {
for line in format!("{e}").lines() {
println!(" {line}");