]>
Commit | Line | Data |
---|---|---|
7cac9316 XL |
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 | } |