diff options
author | Alex Crichton <alex@alexcrichton.com> | 2017-02-08 21:23:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-08 21:23:29 -0800 |
commit | beff7f992d738db3565d899a72542baae57f835d (patch) | |
tree | 76498b837fc5f1f6ba0a5f53e1b2d85c6638da4d /tests/datetime.rs | |
parent | 473908c9722eeedeec1777237a135f582faa78d8 (diff) | |
parent | f66d8bcf33530c858a502bfa170f2383a8cbc204 (diff) | |
download | milf-rs-beff7f992d738db3565d899a72542baae57f835d.tar.gz milf-rs-beff7f992d738db3565d899a72542baae57f835d.zip |
Merge pull request #137 from alexcrichton/serde-upgrade
Rewrite crate with serde support from ground up
Diffstat (limited to 'tests/datetime.rs')
-rw-r--r-- | tests/datetime.rs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/datetime.rs b/tests/datetime.rs new file mode 100644 index 0000000..948e863 --- /dev/null +++ b/tests/datetime.rs @@ -0,0 +1,58 @@ +extern crate toml; + +use std::str::FromStr; + +use toml::Value; + +#[test] +fn times() { + fn good(s: &str) { + let to_parse = format!("foo = {}", s); + let value = Value::from_str(&to_parse).unwrap(); + assert_eq!(value["foo"].as_datetime().unwrap().to_string(), s); + } + + good("1997-09-09T09:09:09Z"); + good("1997-09-09T09:09:09+09:09"); + good("1997-09-09T09:09:09-09:09"); + good("1997-09-09T09:09:09"); + good("1997-09-09"); + good("09:09:09"); + good("1997-09-09T09:09:09.09Z"); + good("1997-09-09T09:09:09.09+09:09"); + good("1997-09-09T09:09:09.09-09:09"); + good("1997-09-09T09:09:09.09"); + good("09:09:09.09"); +} + +#[test] +fn bad_times() { + fn bad(s: &str) { + let to_parse = format!("foo = {}", s); + assert!(Value::from_str(&to_parse).is_err()); + } + + bad("199-09-09"); + bad("199709-09"); + bad("1997-9-09"); + bad("1997-09-9"); + bad("1997-09-0909:09:09"); + bad("1997-09-09T09:09:09."); + bad("T"); + bad("T."); + bad("TZ"); + bad("1997-09-09T09:09:09.09+"); + bad("1997-09-09T09:09:09.09+09"); + bad("1997-09-09T09:09:09.09+09:9"); + bad("1997-09-09T09:09:09.09+0909"); + bad("1997-09-09T09:09:09.09-"); + bad("1997-09-09T09:09:09.09-09"); + bad("1997-09-09T09:09:09.09-09:9"); + bad("1997-09-09T09:09:09.09-0909"); + + bad("1997-00-09T09:09:09.09Z"); + bad("1997-09-00T09:09:09.09Z"); + bad("1997-09-09T30:09:09.09Z"); + bad("1997-09-09T12:69:09.09Z"); + bad("1997-09-09T12:09:69.09Z"); +} |