Skip to content

Commit 00150af

Browse files
committed
---
yaml --- r: 49078 b: refs/heads/snap-stage3 c: 4e9a63f h: refs/heads/master v: v3
1 parent 5f6bb0d commit 00150af

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,7 +1,7 @@
11
---
22
refs/heads/master: 3bbcac322669cff3abde5be937cc4ec3860f3985
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 4d6dcefcbb8688b69dd80bc7382a2f593c3b08d8
4+
refs/heads/snap-stage3: 4e9a63ff917af32bd9ddfee65f5871a5586771e1
55
refs/heads/try: 2a8fb58d79e685d5ca07b039badcf2ae3ef077ea
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/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)