Skip to content

Commit c3881f2

Browse files
committed
---
yaml --- r: 49647 b: refs/heads/master c: 4e9a63f h: refs/heads/master i: 49645: e80625e 49643: 8786424 49639: 5b45035 49631: f60b3de v: v3
1 parent 1b96934 commit c3881f2

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 4d6dcefcbb8688b69dd80bc7382a2f593c3b08d8
2+
refs/heads/master: 4e9a63ff917af32bd9ddfee65f5871a5586771e1
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: f7a2371c176663d59062ec5158f39faecba45768
55
refs/heads/try: 2a8fb58d79e685d5ca07b039badcf2ae3ef077ea

trunk/src/libstd/json.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff 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\""),

0 commit comments

Comments
 (0)