diff options
| author | Elly Jones <elly@leptoquark.net> | 2011-11-07 18:24:44 -0500 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-11-07 15:44:43 -0800 |
| commit | 656a2af98975edea682831c8483ac534cec7825a (patch) | |
| tree | 53cd94aadc83c374a739221db12f89e33c311a27 /src/test/stdtest | |
| parent | bd7262624ca7b396cfb254dc638f62d07e381681 (diff) | |
| download | rust-656a2af98975edea682831c8483ac534cec7825a.tar.gz rust-656a2af98975edea682831c8483ac534cec7825a.zip | |
json: betterify for brson
Signed-off-by: Elly Jones <ellyjones@google.com>
Diffstat (limited to 'src/test/stdtest')
| -rw-r--r-- | src/test/stdtest/json.rs | 48 | ||||
| -rw-r--r-- | src/test/stdtest/stdtest.rc | 13 |
2 files changed, 55 insertions, 6 deletions
diff --git a/src/test/stdtest/json.rs b/src/test/stdtest/json.rs new file mode 100644 index 00000000000..a19ddec5e7d --- /dev/null +++ b/src/test/stdtest/json.rs @@ -0,0 +1,48 @@ +use std; +import std::json::*; +import std::option::{none, some}; + +#[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("[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\": }") == none); + assert(from_str("{\"a\" }") == none); + assert(from_str("{\"a\"") == none); + assert(from_str("{") == none); +} diff --git a/src/test/stdtest/stdtest.rc b/src/test/stdtest/stdtest.rc index 18ba19d0151..09eabb632d6 100644 --- a/src/test/stdtest/stdtest.rc +++ b/src/test/stdtest/stdtest.rc @@ -6,14 +6,15 @@ mod char; mod comm; mod deque; mod either; +mod float; mod fs; mod getopts; mod int; mod io; -mod vec; +mod json; mod list; mod map; -mod treemap; +mod math; mod net; mod option; mod os; @@ -22,6 +23,8 @@ mod ptr; mod qsort3; mod qsort; mod rand; +mod result; +mod rope; mod run; mod sha1; mod sort; @@ -29,11 +32,9 @@ mod str; mod sys; mod task; mod test; +mod treemap; mod uint; -mod float; -mod math; -mod result; -mod rope; +mod vec; // Local Variables: // mode: rust |
