orbtk_utils/
visibility.rs1#[derive(Debug, Copy, Clone, PartialEq)]
3pub enum Visibility {
4 Visible,
6
7 Hidden,
10
11 Collapsed,
14}
15
16impl Default for Visibility {
17 fn default() -> Visibility {
18 Visibility::Visible
19 }
20}
21
22impl From<&str> for Visibility {
25 fn from(t: &str) -> Self {
26 match t {
27 "Hidden" | "hidden" => Visibility::Hidden,
28 "Collapsed" | "collapsed" => Visibility::Collapsed,
29 _ => Visibility::Visible,
30 }
31 }
32}
33
34#[cfg(test)]
35mod tests {
36 use super::*;
37
38 #[test]
39 fn test_into() {
40 let visibility: Visibility = "Hidden".into();
41 assert_eq!(visibility, Visibility::Hidden);
42
43 let visibility: Visibility = "hidden".into();
44 assert_eq!(visibility, Visibility::Hidden);
45
46 let visibility: Visibility = "Collapsed".into();
47 assert_eq!(visibility, Visibility::Collapsed);
48
49 let visibility: Visibility = "collapsed".into();
50 assert_eq!(visibility, Visibility::Collapsed);
51
52 let visibility: Visibility = "Visible".into();
53 assert_eq!(visibility, Visibility::Visible);
54
55 let visibility: Visibility = "visible".into();
56 assert_eq!(visibility, Visibility::Visible);
57
58 let visibility: Visibility = "other".into();
59 assert_eq!(visibility, Visibility::Visible);
60 }
61}