diff options
author | Alex Crichton <alex@alexcrichton.com> | 2017-11-20 13:39:31 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-20 13:39:31 -0600 |
commit | 823d1f58305113b38d62eba7e87dc3f4097acbac (patch) | |
tree | 38d92a55f2bde9b02fe4cfb78dd9c8f6f29ee9e3 /test-suite/tests/datetime.rs | |
parent | 3b77b5fb6520c7bf13be6308978efa8a185d0c12 (diff) | |
parent | d53db5c5335fb73389e5a78c190bf2a1903f3b6a (diff) | |
download | milf-rs-823d1f58305113b38d62eba7e87dc3f4097acbac.tar.gz milf-rs-823d1f58305113b38d62eba7e87dc3f4097acbac.zip |
Merge pull request #217 from dtolnay/macro
A toml macro
Diffstat (limited to 'test-suite/tests/datetime.rs')
-rw-r--r-- | test-suite/tests/datetime.rs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/test-suite/tests/datetime.rs b/test-suite/tests/datetime.rs new file mode 100644 index 0000000..948e863 --- /dev/null +++ b/test-suite/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"); +} |