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