Bug 1608150 [wpt PR 21112] - Add missing space in `./wpt lint` command line docs...
[gecko.git] / third_party / rust / serde_urlencoded / tests / test_serialize.rs
blobb0276d2ee32436dfb7c9868ba02b1fd1faf0d56f
1 extern crate serde_urlencoded;
2 #[macro_use]
3 extern crate serde_derive;
5 #[derive(Serialize)]
6 struct NewType<T>(T);
8 #[test]
9 fn serialize_newtype_i32() {
10     let params = &[("field", Some(NewType(11)))];
11     assert_eq!(
12         serde_urlencoded::to_string(params),
13         Ok("field=11".to_owned())
14     );
17 #[test]
18 fn serialize_option_map_int() {
19     let params = &[("first", Some(23)), ("middle", None), ("last", Some(42))];
21     assert_eq!(
22         serde_urlencoded::to_string(params),
23         Ok("first=23&last=42".to_owned())
24     );
27 #[test]
28 fn serialize_option_map_string() {
29     let params = &[
30         ("first", Some("hello")),
31         ("middle", None),
32         ("last", Some("world")),
33     ];
35     assert_eq!(
36         serde_urlencoded::to_string(params),
37         Ok("first=hello&last=world".to_owned())
38     );
41 #[test]
42 fn serialize_option_map_bool() {
43     let params = &[("one", Some(true)), ("two", Some(false))];
45     assert_eq!(
46         serde_urlencoded::to_string(params),
47         Ok("one=true&two=false".to_owned())
48     );
51 #[test]
52 fn serialize_map_bool() {
53     let params = &[("one", true), ("two", false)];
55     assert_eq!(
56         serde_urlencoded::to_string(params),
57         Ok("one=true&two=false".to_owned())
58     );
61 #[derive(Serialize)]
62 enum X {
63     A,
64     B,
65     C,
68 #[test]
69 fn serialize_unit_enum() {
70     let params = &[("one", X::A), ("two", X::B), ("three", X::C)];
71     assert_eq!(
72         serde_urlencoded::to_string(params),
73         Ok("one=A&two=B&three=C".to_owned())
74     );
77 #[derive(Serialize)]
78 struct Unit;
80 #[test]
81 fn serialize_unit_struct() {
82     assert_eq!(serde_urlencoded::to_string(Unit), Ok("".to_owned()));