schemars/schemars/tests/schema_name.rs
Graham Esau 72629a3c37 Reduce memory footprint of SchemaObject.
Nested validation structs are now wrapped in Option<Box<_>>, reducing size of JsonSchema (depending on system) from 688 to 424 bytes.
2019-10-13 20:42:29 +01:00

47 lines
994 B
Rust

mod util;
use schemars::JsonSchema;
use util::*;
#[derive(Debug, JsonSchema)]
struct MyStruct<T, U, V, W> {
t: T,
u: U,
v: V,
w: W,
inner: MySimpleStruct,
}
#[derive(Debug, JsonSchema)]
struct MySimpleStruct {
foo: i32,
}
#[test]
fn default_name_multiple_type_params() -> TestResult {
test_default_generated_schema::<MyStruct<i32, (), bool, Vec<String>>>("schema-name-default")
}
#[derive(Debug, JsonSchema)]
#[serde(rename = "a-new-name-{W}-{T}-{T}")]
#[schemars(rename_all = "camelCase")]
struct MyRenamedStruct<T, U, V, W> {
t: T,
u: U,
v: V,
w: W,
inner: MySimpleRenamedStruct,
}
#[derive(Debug, JsonSchema)]
#[serde(rename = "this-attribute-is-ignored")]
#[schemars(rename = "another-new-name")]
struct MySimpleRenamedStruct {
foo: i32,
}
#[test]
fn overriden_with_rename_multiple_type_params() -> TestResult {
test_default_generated_schema::<MyRenamedStruct<i32, (), bool, Vec<String>>>(
"schema-name-custom",
)
}