Skip to content

Commit 3cf87a1

Browse files
Merge pull request #10 from neuschaefer/update
types/test: test `Update` decoding
2 parents 32f6b1d + d199c04 commit 3cf87a1

File tree

1 file changed

+79
-6
lines changed

1 file changed

+79
-6
lines changed

src/types/test.rs

Lines changed: 79 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ fn reply_keyboard_markup() {
1515

1616
// Test encoding
1717
let x = RKM::default();
18-
assert_eq!(json::encode(&x).unwrap(), "{\"keyboard\":[]}".to_string());
18+
assert_eq!(json::encode(&x).unwrap(), r#"{"keyboard":[]}"#.to_string());
1919

2020
let x = RKM { resize_keyboard: Some(true), ..Default::default() };
2121
assert_eq!(json::encode(&x).unwrap(),
22-
"{\"keyboard\":[],\"resize_keyboard\":true}".to_string());
22+
r#"{"keyboard":[],"resize_keyboard":true}"#.to_string());
2323

2424
let x = RKM {
2525
keyboard: vec![vec!["ABC".into()], vec!["X".into(), "Y".into()]],
2626
resize_keyboard: Some(false),
2727
..Default::default()
2828
};
2929
assert_eq!(json::encode(&x).unwrap(),
30-
"{\"keyboard\":[[\"ABC\"],[\"X\",\"Y\"]],\"resize_keyboard\":false}".to_string());
30+
r#"{"keyboard":[["ABC"],["X","Y"]],"resize_keyboard":false}"#.to_string());
3131
}
3232

3333
#[test]
@@ -37,15 +37,15 @@ fn keyboard_markup() {
3737

3838
// Test encoding
3939
let x = RM::Keyboard(RKM::default());
40-
assert_eq!(json::encode(&x).unwrap(), "{\"keyboard\":[]}".to_string());
40+
assert_eq!(json::encode(&x).unwrap(), r#"{"keyboard":[]}"#.to_string());
4141

4242
let x = RM::KeyboardHide(false);
4343
assert_eq!(json::encode(&x).unwrap(),
44-
"{\"hide_keyboard\":true,\"selective\":false}".to_string());
44+
r#"{"hide_keyboard":true,"selective":false}"#.to_string());
4545

4646
let x = RM::ForceReply(true);
4747
assert_eq!(json::encode(&x).unwrap(),
48-
"{\"force_reply\":true,\"selective\":true}".to_string());
48+
r#"{"force_reply":true,"selective":true}"#.to_string());
4949
}
5050

5151
#[test]
@@ -73,3 +73,76 @@ fn decode_user_chat() {
7373
assert!(chat.is_user());
7474
assert_eq!(Chat::User(user), chat);
7575
}
76+
77+
#[test]
78+
fn decode_update() {
79+
use Update;
80+
let blob = r#"{
81+
"message" : {
82+
"text" : "The quick brown fox jumps over the lazy dog",
83+
"from" : {
84+
"first_name" : "test",
85+
"id" : 123456789,
86+
"username" : "test"
87+
},
88+
"date" : 1437821492,
89+
"message_id" : 74,
90+
"chat" : {
91+
"title" : "This is a group chat",
92+
"id" : -12345678
93+
}
94+
},
95+
"update_id" : 123456789
96+
}"#;
97+
let _: Update = json::decode(&blob).unwrap();
98+
}
99+
100+
#[test]
101+
fn decode_get_updates_response() {
102+
use Response;
103+
use Update;
104+
105+
let blob = r#"{
106+
"result" : [
107+
{
108+
"message" : {
109+
"text" : "This is the first message",
110+
"from" : {
111+
"username" : "test",
112+
"id" : 123456789,
113+
"first_name" : "Test"
114+
},
115+
"date" : 1437821579,
116+
"message_id" : 78,
117+
"chat" : {
118+
"username" : "test",
119+
"id" : 123456789,
120+
"first_name" : "Test"
121+
}
122+
},
123+
"update_id" : 123456789
124+
},
125+
{
126+
"message" : {
127+
"text" : "This is the second message",
128+
"from" : {
129+
"username" : "test",
130+
"id" : 123456789,
131+
"first_name" : "Test"
132+
},
133+
"date" : 1437821579,
134+
"message_id" : 79,
135+
"chat" : {
136+
"username" : "test",
137+
"id" : 123456789,
138+
"first_name" : "Test"
139+
}
140+
},
141+
"update_id" : 123456790
142+
}
143+
],
144+
"ok" : true
145+
}"#;
146+
147+
let _: Response<Vec<Update>> = json::decode(&blob).unwrap();
148+
}

0 commit comments

Comments
 (0)