diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-01-17 19:05:07 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-01-17 19:48:58 -0800 |
| commit | 6e27b27cf8a9ece270f2556c3362524854d06de4 (patch) | |
| tree | e310348b211f329737cec9a1a30fbf641492ad46 /src/libstd/json.rs | |
| parent | 17bf4b0e1be01bc7a54c389deb5896949736d7f2 (diff) | |
| download | rust-6e27b27cf8a9ece270f2556c3362524854d06de4.tar.gz rust-6e27b27cf8a9ece270f2556c3362524854d06de4.zip | |
libstd: Move std tests into libstd
Diffstat (limited to 'src/libstd/json.rs')
| -rw-r--r-- | src/libstd/json.rs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/libstd/json.rs b/src/libstd/json.rs index 3e134c743ed..d433b12ec68 100644 --- a/src/libstd/json.rs +++ b/src/libstd/json.rs @@ -268,3 +268,58 @@ fn from_str(s: str) -> option::t<json> { let (j, _) = from_str_helper(s); j } + +#[cfg(test)] +mod tests { + #[test] + fn test_from_str_null() { + assert(from_str("null") == some(null)); + } + + #[test] + fn test_from_str_num() { + assert(from_str("3") == some(num(3f))); + assert(from_str("3.1") == some(num(3.1f))); + assert(from_str("-1.2") == some(num(-1.2f))); + assert(from_str(".4") == some(num(0.4f))); + } + + #[test] + fn test_from_str_str() { + assert(from_str("\"foo\"") == some(string("foo"))); + assert(from_str("\"\\\"\"") == some(string("\""))); + assert(from_str("\"lol") == none); + } + + #[test] + fn test_from_str_bool() { + assert(from_str("true") == some(boolean(true))); + assert(from_str("false") == some(boolean(false))); + assert(from_str("truz") == none); + } + + #[test] + fn test_from_str_list() { + assert(from_str("[]") == some(list(@[]))); + assert(from_str("[true]") == some(list(@[boolean(true)]))); + assert(from_str("[null]") == some(list(@[null]))); + assert(from_str("[3, 1]") == some(list(@[num(3f), num(1f)]))); + assert(from_str("[2, [4, 1]]") == + some(list(@[num(2f), list(@[num(4f), num(1f)])]))); + assert(from_str("[2, ]") == none); + assert(from_str("[5, ") == none); + assert(from_str("[6 7]") == none); + assert(from_str("[3") == none); + } + + #[test] + fn test_from_str_dict() { + assert(from_str("{}") != none); + assert(from_str("{\"a\": 3}") != none); + assert(from_str("{\"a\": null}") != none); + assert(from_str("{\"a\": }") == none); + assert(from_str("{\"a\" }") == none); + assert(from_str("{\"a\"") == none); + assert(from_str("{") == none); + } +} |
