diff options
author | David Tolnay <dtolnay@gmail.com> | 2017-11-12 17:26:09 -0800 |
---|---|---|
committer | David Tolnay <dtolnay@gmail.com> | 2017-11-12 19:33:11 -0800 |
commit | 3ad6e71f53a87215fb5286bcf87de15524699561 (patch) | |
tree | f9ac5154af7984a7c65b903869487c11baee3596 /test-suite/tests/datetime.rs | |
parent | 3b77b5fb6520c7bf13be6308978efa8a185d0c12 (diff) | |
download | milf-rs-3ad6e71f53a87215fb5286bcf87de15524699561.tar.gz milf-rs-3ad6e71f53a87215fb5286bcf87de15524699561.zip |
Move tests into their own crate
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"); +} |