removing useless Generic T on selective, adding tests

This commit is contained in:
Ali 2024-10-03 12:35:53 +03:30
parent cfedb585d3
commit dad067da44

View file

@ -125,7 +125,7 @@ impl KeyboardMarkup {
/// Sets [`selective`] to `true`.
///
/// [`selective`]: KeyboardMarkup::selective
pub fn selective<T>(self) -> Self {
pub fn selective(self) -> Self {
Self { selective: true, ..self }
}
}
@ -146,6 +146,26 @@ mod tests {
"selective": false
}
"#;
serde_json::from_str::<KeyboardMarkup>(data).unwrap();
assert!(serde_json::from_str::<KeyboardMarkup>(data).is_ok())
}
#[test]
fn serialize() {
let keyboard = vec![
vec![
KeyboardButton::new("a"),
KeyboardButton::new("b"),
KeyboardButton::new("c"),
KeyboardButton::new("d"),
]
];
let keyboard_markup = KeyboardMarkup::new(keyboard)
.persistent()
.resize_keyboard()
.selective()
.one_time_keyboard();
let expected = r#"{"keyboard":[[{"text":"a"},{"text":"b"},{"text":"c"},{"text":"d"}]],"is_persistent":true,"resize_keyboard":true,"one_time_keyboard":true,"selective":true}"#;
assert!(serde_json::ser::to_string(&keyboard_markup).is_ok_and(|s|s.eq(expected)));
}
}