css_ast/types/
line_style.rs

1use css_parse::keyword_set;
2use csskit_derives::Visitable;
3
4keyword_set!(
5	#[derive(Visitable)]
6	#[visit(skip)]
7	pub enum LineStyle {
8		None: "none",
9		Hidden: "hidden",
10		Dotted: "dotted",
11		Dashed: "dashed",
12		Solid: "solid",
13		Double: "double",
14		Groove: "groove",
15		Ridge: "ridge",
16		Inset: "inset",
17		Outset: "outset",
18	}
19);
20
21#[cfg(test)]
22mod tests {
23	use super::*;
24	use css_parse::{assert_parse, assert_parse_error};
25
26	#[test]
27	fn size_test() {
28		assert_eq!(std::mem::size_of::<LineStyle>(), 16);
29	}
30
31	#[test]
32	fn test_writes() {
33		assert_parse!(LineStyle, "none");
34		assert_parse!(LineStyle, "hidden");
35	}
36
37	#[test]
38	fn test_errors() {
39		assert_parse_error!(LineStyle, "florp");
40		// Empty!
41		assert_parse_error!(LineStyle, "");
42	}
43}