]> git.proxmox.com Git - cargo.git/blob - vendor/toml-0.4.5/tests/datetime.rs
New upstream version 0.23.0
[cargo.git] / vendor / toml-0.4.5 / tests / datetime.rs
1 extern crate toml;
2
3 use std::str::FromStr;
4
5 use toml::Value;
6
7 #[test]
8 fn times() {
9 fn good(s: &str) {
10 let to_parse = format!("foo = {}", s);
11 let value = Value::from_str(&to_parse).unwrap();
12 assert_eq!(value["foo"].as_datetime().unwrap().to_string(), s);
13 }
14
15 good("1997-09-09T09:09:09Z");
16 good("1997-09-09T09:09:09+09:09");
17 good("1997-09-09T09:09:09-09:09");
18 good("1997-09-09T09:09:09");
19 good("1997-09-09");
20 good("09:09:09");
21 good("1997-09-09T09:09:09.09Z");
22 good("1997-09-09T09:09:09.09+09:09");
23 good("1997-09-09T09:09:09.09-09:09");
24 good("1997-09-09T09:09:09.09");
25 good("09:09:09.09");
26 }
27
28 #[test]
29 fn bad_times() {
30 fn bad(s: &str) {
31 let to_parse = format!("foo = {}", s);
32 assert!(Value::from_str(&to_parse).is_err());
33 }
34
35 bad("199-09-09");
36 bad("199709-09");
37 bad("1997-9-09");
38 bad("1997-09-9");
39 bad("1997-09-0909:09:09");
40 bad("1997-09-09T09:09:09.");
41 bad("T");
42 bad("T.");
43 bad("TZ");
44 bad("1997-09-09T09:09:09.09+");
45 bad("1997-09-09T09:09:09.09+09");
46 bad("1997-09-09T09:09:09.09+09:9");
47 bad("1997-09-09T09:09:09.09+0909");
48 bad("1997-09-09T09:09:09.09-");
49 bad("1997-09-09T09:09:09.09-09");
50 bad("1997-09-09T09:09:09.09-09:9");
51 bad("1997-09-09T09:09:09.09-0909");
52
53 bad("1997-00-09T09:09:09.09Z");
54 bad("1997-09-00T09:09:09.09Z");
55 bad("1997-09-09T30:09:09.09Z");
56 bad("1997-09-09T12:69:09.09Z");
57 bad("1997-09-09T12:09:69.09Z");
58 }