File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -851,7 +851,6 @@ impl<'self> serialize::Decoder for Decoder<'self> {
851
851
852
852
fn read_enum<T>(&self, name: &str, f: &fn() -> T) -> T {
853
853
debug!(" read_enum( %s) ", name);
854
- if name != ~" option" { fail!(~" only supports the option enum ") }
855
854
f()
856
855
}
857
856
@@ -1720,6 +1719,20 @@ mod tests {
1720
1719
assert_eq!( value, Some ( ~"jodhpurs"));
1721
1720
}
1722
1721
1722
+ #[test]
1723
+ fn test_read_enum_no_args() {
1724
+ let decoder = Decoder(from_str(~"\" Dog\" " ) . unwrap( ) ) ;
1725
+ let value: Animal = Decodable :: decode( & decoder) ;
1726
+ assert_eq!( value, Dog ) ;
1727
+ }
1728
+
1729
+ #[ test]
1730
+ fn test_read_enum_multiple_args( ) {
1731
+ let decoder = Decoder ( from_str( ~"[ \" Frog \" , \" Henry \" , 349 ] ").unwrap());
1732
+ let value: Animal = Decodable::decode(&decoder);
1733
+ assert_eq!(value, Frog(~" Henry ", 349));
1734
+ }
1735
+
1723
1736
#[test]
1724
1737
fn test_multiline_errors() {
1725
1738
assert_eq!(from_str(~" { \n \"foo\" : \n \"bar\" ") ,
You can’t perform that action at this time.
0 commit comments