c_ares/
server_state_flags.rs1use bitflags::bitflags;
2bitflags!(
3 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
5 pub struct ServerStateFlags: i32 {
6 const UDP = c_ares_sys::ARES_SERV_STATE_UDP;
8
9 const TCP = c_ares_sys::ARES_SERV_STATE_TCP;
11 }
12);
13
14#[cfg(test)]
15mod tests {
16 use super::*;
17
18 #[test]
19 fn empty() {
20 let flags = ServerStateFlags::empty();
21 assert!(flags.is_empty());
22 }
23
24 #[test]
25 fn single() {
26 let flags = ServerStateFlags::UDP;
27 assert!(flags.contains(ServerStateFlags::UDP));
28 assert!(!flags.contains(ServerStateFlags::TCP));
29 }
30
31 #[test]
32 fn combine() {
33 let flags = ServerStateFlags::UDP | ServerStateFlags::TCP;
34 assert!(flags.contains(ServerStateFlags::UDP));
35 assert!(flags.contains(ServerStateFlags::TCP));
36 }
37
38 #[test]
39 fn debug() {
40 let flags = ServerStateFlags::TCP;
41 let debug = format!("{flags:?}");
42 assert!(!debug.is_empty());
43 }
44}