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> {
851851
852852 fn read_enum<T>(&self, name: &str, f: &fn() -> T) -> T {
853853 debug!(" read_enum( %s) ", name);
854- if name != ~" option" { fail!(~" only supports the option enum ") }
855854 f()
856855 }
857856
@@ -1720,6 +1719,20 @@ mod tests {
17201719 assert_eq!( value, Some ( ~"jodhpurs"));
17211720 }
17221721
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+
17231736 #[test]
17241737 fn test_multiline_errors() {
17251738 assert_eq!(from_str(~" { \n \"foo\" : \n \"bar\" ") ,
You can’t perform that action at this time.
0 commit comments