Skip to main content

css_ast/types/
image_1d.rs

1use super::prelude::*;
2
3use crate::StripesFunction;
4
5/// <https://drafts.csswg.org/css-images-4/#typedef-image-1d>
6///
7/// ```text,ignore
8/// <image-1D> = <stripes()>
9/// <stripes()> = stripes( <color-stripe># )
10/// <color-stripe> = <color> && [ <length-percentage> | <flex> ]?
11/// ```
12#[derive(Parse, Peek, ToCursors, ToSpan, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
13#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
14#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit)]
15#[derive(csskit_derives::NodeWithMetadata)]
16pub struct Image1d<'a>(StripesFunction<'a>);
17
18#[cfg(test)]
19mod tests {
20	use super::*;
21	use crate::CssAtomSet;
22	use css_parse::assert_parse;
23
24	#[test]
25	fn size_test() {
26		assert_eq!(std::mem::size_of::<Image1d>(), 56);
27	}
28
29	#[test]
30	fn test_writes() {
31		assert_parse!(CssAtomSet::ATOMS, Image1d, "stripes(red 1fr,green 2fr,blue 100px)");
32	}
33}