use core::fmt;
use crate::to_css::ToCss;
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
pub enum GridAutoFlow {
Row,
Column,
RowDense,
ColumnDense,
}
impl ToCss for GridAutoFlow {
fn to_css(&self, dest: &mut dyn fmt::Write) -> fmt::Result {
dest.write_str(match self {
GridAutoFlow::Row => "row",
GridAutoFlow::Column => "column",
GridAutoFlow::RowDense => "row dense",
GridAutoFlow::ColumnDense => "column dense",
})
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn all_variants() {
let cases = [
(GridAutoFlow::Row, "row"),
(GridAutoFlow::Column, "column"),
(GridAutoFlow::RowDense, "row dense"),
(GridAutoFlow::ColumnDense, "column dense"),
];
for (k, expected) in cases {
assert_eq!(k.to_css_string(), expected);
}
}
}