Add Error::unknown_field_error

This commit is contained in:
Erick Tryzelaar
2015-04-12 00:30:20 -07:00
parent 1da47c0870
commit e0eff942b1
11 changed files with 33 additions and 5 deletions
+2
View File
@@ -18,6 +18,8 @@ impl serde::de::Error for Error {
fn end_of_stream_error() -> Error { Error }
fn unknown_field_error(_field: &str) -> Error { Error }
fn missing_field_error(_field: &'static str) -> Error { Error }
}
+6 -1
View File
@@ -59,10 +59,11 @@ impl<'a> TokenDeserializer {
}
}
#[derive(Copy, Clone, PartialEq, Debug)]
#[derive(Clone, PartialEq, Debug)]
enum Error {
SyntaxError,
EndOfStreamError,
UnknownFieldError(String),
MissingFieldError(&'static str),
InvalidName(&'static str),
}
@@ -72,6 +73,10 @@ impl de::Error for Error {
fn end_of_stream_error() -> Error { Error::EndOfStreamError }
fn unknown_field_error(field: &str) -> Error {
Error::UnknownFieldError(field.to_string())
}
fn missing_field_error(field: &'static str) -> Error {
Error::MissingFieldError(field)
}
+1 -1
View File
@@ -935,7 +935,7 @@ fn test_parse_enum_errors() {
("{}", Error::SyntaxError(ErrorCode::ExpectedSomeValue, 1, 2)),
("{\"Dog\":", Error::SyntaxError(ErrorCode::EOFWhileParsingValue, 1, 8)),
("{\"Dog\":}", Error::SyntaxError(ErrorCode::ExpectedSomeValue, 1, 8)),
("{\"unknown\":[]}", Error::SyntaxError(ErrorCode::ExpectedSomeValue, 1, 11)),
("{\"unknown\":[]}", Error::SyntaxError(ErrorCode::UnknownField("unknown".to_string()), 1, 11)),
("{\"Dog\":{}}", Error::SyntaxError(ErrorCode::ExpectedSomeValue, 1, 9)),
("{\"Frog\":{}}", Error::SyntaxError(ErrorCode::ExpectedSomeValue, 1, 10)),
("{\"Cat\":[]}", Error::SyntaxError(ErrorCode::ExpectedSomeValue, 1, 9)),