use musli::{Decode, Encode};
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
#[musli(name_all = "PascalCase")]
struct PascalCase {
field_name: i32,
}
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
#[musli(name_all = "camelCase")]
struct CamelCase {
field_name: i32,
}
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
#[musli(name_all = "snake_case")]
struct SnakeCase {
field_name: i32,
}
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
#[musli(name_all = "SCREAMING_SNAKE_CASE")]
struct ScreamingSnakeCase {
field_name: i32,
}
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
#[musli(name_all = "kebab-case")]
struct KebabCase {
field_name: i32,
}
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
#[musli(name_all = "SCREAMING-KEBAB-CASE")]
struct ScreamingKebabCase {
field_name: i32,
}
#[test]
fn test_name_all() {
musli::macros::assert_roundtrip_eq!(
full,
PascalCase { field_name: 42 },
json = r#"{"FieldName":42}"#,
);
musli::macros::assert_roundtrip_eq!(
full,
CamelCase { field_name: 42 },
json = r#"{"fieldName":42}"#,
);
musli::macros::assert_roundtrip_eq!(
full,
SnakeCase { field_name: 42 },
json = r#"{"field_name":42}"#,
);
musli::macros::assert_roundtrip_eq!(
full,
ScreamingSnakeCase { field_name: 42 },
json = r#"{"FIELD_NAME":42}"#,
);
musli::macros::assert_roundtrip_eq!(
full,
KebabCase { field_name: 42 },
json = r#"{"field-name":42}"#,
);
musli::macros::assert_roundtrip_eq!(
full,
ScreamingKebabCase { field_name: 42 },
json = r#"{"FIELD-NAME":42}"#,
);
}