File tree Expand file tree Collapse file tree 2 files changed +15
-2
lines changed
branches/dist-snap/src/libstd Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9
9
refs/heads/incoming: 44d4d6de762f3f9aae1fedcf454c66b79b3ad58d
10
- refs/heads/dist-snap: 4d6dcefcbb8688b69dd80bc7382a2f593c3b08d8
10
+ refs/heads/dist-snap: 4e9a63ff917af32bd9ddfee65f5871a5586771e1
11
11
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
12
12
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
13
13
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
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