mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-30 18:58:04 +00:00
Add error type to use for RenameRule parsing
This commit is contained in:
@@ -34,7 +34,7 @@ pub enum RenameRule {
|
||||
}
|
||||
|
||||
impl RenameRule {
|
||||
pub fn from_str(rename_all_str: &str) -> Result<Self, ()> {
|
||||
pub fn from_str(rename_all_str: &str) -> Result<Self, ParseError> {
|
||||
match rename_all_str {
|
||||
"lowercase" => Ok(LowerCase),
|
||||
"UPPERCASE" => Ok(UPPERCASE),
|
||||
@@ -44,7 +44,7 @@ impl RenameRule {
|
||||
"SCREAMING_SNAKE_CASE" => Ok(ScreamingSnakeCase),
|
||||
"kebab-case" => Ok(KebabCase),
|
||||
"SCREAMING-KEBAB-CASE" => Ok(ScreamingKebabCase),
|
||||
_ => Err(()),
|
||||
unknown => Err(ParseError { unknown }),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,6 +104,10 @@ impl RenameRule {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct ParseError<'a> {
|
||||
unknown: &'a str,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn rename_variants() {
|
||||
for &(original, lower, upper, camel, snake, screaming, kebab, screaming_kebab) in &[
|
||||
|
||||
Reference in New Issue
Block a user