polished_css/data_type/
dimension.rs1use super::{Frequency, Length, Resolution, Time};
2
3#[derive(
5 Clone,
6 Debug,
7 PartialEq,
8 strum_macros::EnumIs,
9 polished_css_macros::Display,
10 polished_css_macros::DataTypeFromDataTypes,
11)]
12#[display(on_enum = true)]
13pub enum Dimension {
14 Frequency(Frequency),
15 Length(Length),
16 Resolution(Resolution),
17 Time(Time),
18}
19
20#[polished_css_macros::create_trait_from_enum_impl()]
21impl Dimension {
22 }
24
25#[cfg(test)]
26mod test {
27 use crate::prelude::*;
28
29 #[test]
30 fn display() {
31 assert_eq!(super::Dimension::hz(1.0).to_string(), String::from("1Hz"));
32
33 assert_eq!(super::Dimension::px(1).to_string(), String::from("1px"));
34 assert_eq!(super::Dimension::cqh(1.0).to_string(), String::from("1cqh"));
35 assert_eq!(super::Dimension::em(1.0).to_string(), String::from("1em"));
36 assert_eq!(super::Dimension::vh(1.0).to_string(), String::from("1vh"));
37
38 assert_eq!(super::Dimension::dpi(1.0).to_string(), String::from("1dpi"));
39
40 assert_eq!(super::Dimension::ms(250).to_string(), String::from("250ms"));
41 }
42}