recibo/domain/
underline_mode.rs1use std::fmt;
2
3#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
4#[derive(PartialEq, Debug, Clone)]
5pub enum UnderlineMode {
6 #[cfg_attr(feature = "serde", serde(rename = "none"))]
7 None,
8 #[cfg_attr(feature = "serde", serde(rename = "single"))]
9 Single,
10 #[cfg_attr(feature = "serde", serde(rename = "double"))]
11 Double,
12}
13
14impl fmt::Display for UnderlineMode {
15 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16 match self {
17 UnderlineMode::None => write!(f, "none"),
18 UnderlineMode::Single => write!(f, "single"),
19 UnderlineMode::Double => write!(f, "double"),
20 }
21 }
22}
23
24#[cfg(test)]
25mod tests {
26
27 #[test]
28 #[cfg(feature = "serde")]
29 fn test_deserialize_from_json() {
30 let alignment: super::UnderlineMode = serde_json::from_str("\"single\"").unwrap();
31
32 assert_eq!(alignment, super::UnderlineMode::Single);
33 }
34}