boon test suite itself passing
This commit is contained in:
@ -10,7 +10,7 @@ let mut schemas = Schemas::new(); // container for compiled schemas
|
|||||||
let mut compiler = Compiler::new();
|
let mut compiler = Compiler::new();
|
||||||
let sch_index = compiler.compile("schema.json", &mut schemas)?;
|
let sch_index = compiler.compile("schema.json", &mut schemas)?;
|
||||||
let instance: Value = serde_json::from_reader(File::open("instance.json")?)?;
|
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(())
|
# Ok(())
|
||||||
# }
|
# }
|
||||||
```
|
```
|
||||||
|
|||||||
@ -15,7 +15,7 @@ fn test_debug() -> Result<(), Box<dyn Error>> {
|
|||||||
let url = "http://debug.com/schema.json";
|
let url = "http://debug.com/schema.json";
|
||||||
compiler.add_resource(url, test["schema"].clone())?;
|
compiler.add_resource(url, test["schema"].clone())?;
|
||||||
let sch = compiler.compile(url, &mut schemas)?;
|
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 {
|
if let Err(e) = &result {
|
||||||
for line in format!("{e}").lines() {
|
for line in format!("{e}").lines() {
|
||||||
println!(" {line}");
|
println!(" {line}");
|
||||||
|
|||||||
@ -13,7 +13,7 @@ fn example_from_files() -> Result<(), Box<dyn Error>> {
|
|||||||
let mut schemas = Schemas::new();
|
let mut schemas = Schemas::new();
|
||||||
let mut compiler = Compiler::new();
|
let mut compiler = Compiler::new();
|
||||||
let sch_index = compiler.compile(schema_file, &mut schemas)?;
|
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());
|
assert!(result.is_ok());
|
||||||
|
|
||||||
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/pet.json", pet_schema)?;
|
||||||
compiler.add_resource("tests/examples/cat.json", cat_schema)?;
|
compiler.add_resource("tests/examples/cat.json", cat_schema)?;
|
||||||
let sch_index = compiler.compile("tests/examples/pet.json", &mut schemas)?;
|
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());
|
assert!(result.is_ok());
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -79,7 +79,7 @@ fn example_from_https() -> Result<(), Box<dyn Error>> {
|
|||||||
loader.register("https", Box::new(HttpUrlLoader));
|
loader.register("https", Box::new(HttpUrlLoader));
|
||||||
compiler.use_loader(Box::new(loader));
|
compiler.use_loader(Box::new(loader));
|
||||||
let sch_index = compiler.compile(schema_url, &mut schemas)?;
|
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());
|
assert!(result.is_ok());
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -114,7 +114,7 @@ fn example_from_yaml_files() -> Result<(), Box<dyn Error>> {
|
|||||||
loader.register("file", Box::new(FileUrlLoader));
|
loader.register("file", Box::new(FileUrlLoader));
|
||||||
compiler.use_loader(Box::new(loader));
|
compiler.use_loader(Box::new(loader));
|
||||||
let sch_index = compiler.compile(schema_file, &mut schemas)?;
|
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());
|
assert!(result.is_ok());
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -148,7 +148,7 @@ fn example_custom_format() -> Result<(), Box<dyn Error>> {
|
|||||||
});
|
});
|
||||||
compiler.add_resource(schema_url, schema)?;
|
compiler.add_resource(schema_url, schema)?;
|
||||||
let sch_index = compiler.compile(schema_url, &mut schemas)?;
|
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());
|
assert!(result.is_ok());
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -193,7 +193,7 @@ fn example_custom_content_encoding() -> Result<(), Box<dyn Error>> {
|
|||||||
});
|
});
|
||||||
compiler.add_resource(schema_url, schema)?;
|
compiler.add_resource(schema_url, schema)?;
|
||||||
let sch_index = compiler.compile(schema_url, &mut schemas)?;
|
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());
|
assert!(result.is_err());
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -223,7 +223,7 @@ fn example_custom_content_media_type() -> Result<(), Box<dyn Error>> {
|
|||||||
});
|
});
|
||||||
compiler.add_resource(schema_url, schema)?;
|
compiler.add_resource(schema_url, schema)?;
|
||||||
let sch_index = compiler.compile(schema_url, &mut schemas)?;
|
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());
|
assert!(result.is_ok());
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
@ -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)?;
|
let sch = compiler.compile(schema_url, &mut schemas)?;
|
||||||
for test in group.tests {
|
for test in group.tests {
|
||||||
println!(" {}", test.description);
|
println!(" {}", test.description);
|
||||||
match schemas.validate(&test.data, sch) {
|
match schemas.validate(&test.data, sch, None) {
|
||||||
Ok(_) => println!(" validation success"),
|
Ok(_) => println!(" validation success"),
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
if let Some(sch) = test.output.basic {
|
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)?;
|
compiler.add_resource(schema_url, sch)?;
|
||||||
let sch = compiler.compile(schema_url, &mut schemas)?;
|
let sch = compiler.compile(schema_url, &mut schemas)?;
|
||||||
let basic: Value = serde_json::from_str(&e.basic_output().to_string())?;
|
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 {
|
if let Err(e) = result {
|
||||||
println!("{basic:#}\n");
|
println!("{basic:#}\n");
|
||||||
for line in format!("{e}").lines() {
|
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 sch = compiler.compile(schema_url, &mut schemas)?;
|
||||||
let detailed: Value =
|
let detailed: Value =
|
||||||
serde_json::from_str(&e.detailed_output().to_string())?;
|
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 {
|
if let Err(e) = result {
|
||||||
println!("{detailed:#}\n");
|
println!("{detailed:#}\n");
|
||||||
for line in format!("{e}").lines() {
|
for line in format!("{e}").lines() {
|
||||||
|
|||||||
@ -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)?;
|
let sch_index = compiler.compile(url, &mut schemas)?;
|
||||||
for test in group.tests {
|
for test in group.tests {
|
||||||
println!(" {}", test.description);
|
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 {
|
if let Err(e) = &result {
|
||||||
for line in format!("{e}").lines() {
|
for line in format!("{e}").lines() {
|
||||||
println!(" {line}");
|
println!(" {line}");
|
||||||
|
|||||||
Reference in New Issue
Block a user