Skip to main content

css_ast/types/
inflexible_breadth.rs

1use super::prelude::*;
2
3/// <https://drafts.csswg.org/css-grid-2/#typedef-inflexible-breadth>
4///
5/// ```text,ignore
6/// <inflexible-breadth> = <length-percentage [0,∞]> | min-content | max-content | auto
7/// ```
8#[syntax(" <length-percentage [0,∞]> | min-content | max-content | auto ")]
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 enum InflexibleBreadth<'a> {}
14
15#[cfg(test)]
16mod tests {
17	use super::*;
18	use crate::CssAtomSet;
19	use css_parse::{assert_parse, assert_peek_false};
20
21	#[test]
22	fn test_writes() {
23		assert_parse!(CssAtomSet::ATOMS, InflexibleBreadth, "10px");
24		assert_parse!(CssAtomSet::ATOMS, InflexibleBreadth, "50%");
25		assert_parse!(CssAtomSet::ATOMS, InflexibleBreadth, "min-content");
26		assert_parse!(CssAtomSet::ATOMS, InflexibleBreadth, "max-content");
27		assert_parse!(CssAtomSet::ATOMS, InflexibleBreadth, "auto");
28	}
29
30	#[test]
31	fn test_errors() {
32		assert_peek_false!(CssAtomSet::ATOMS, InflexibleBreadth, "1fr");
33		assert_peek_false!(CssAtomSet::ATOMS, InflexibleBreadth, "none");
34	}
35}