#[cfg(test)]
mod tests {
use super::super::*;
use crate::CssAtomSet;
use css_parse::{assert_parse, assert_parse_error};
#[test]
pub fn size_test() {
assert_eq!(std::mem::size_of::<MarginTopStyleValue>(), 16);
assert_eq!(std::mem::size_of::<MarginRightStyleValue>(), 16);
assert_eq!(std::mem::size_of::<MarginBottomStyleValue>(), 16);
assert_eq!(std::mem::size_of::<MarginLeftStyleValue>(), 16);
assert_eq!(std::mem::size_of::<MarginStyleValue>(), 64);
assert_eq!(std::mem::size_of::<PaddingTopStyleValue>(), 16);
assert_eq!(std::mem::size_of::<PaddingRightStyleValue>(), 16);
assert_eq!(std::mem::size_of::<PaddingBottomStyleValue>(), 16);
assert_eq!(std::mem::size_of::<PaddingLeftStyleValue>(), 16);
assert_eq!(std::mem::size_of::<PaddingStyleValue>(), 64);
assert_eq!(std::mem::size_of::<MarginTrimStyleValue>(), 64);
}
#[test]
fn test_margin_trim() {
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "none");
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "block");
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "block-start");
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "block-start block-end");
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "inline");
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "inline-start");
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "inline-end");
assert_parse!(CssAtomSet::ATOMS, MarginTrimStyleValue, "block inline");
assert_parse_error!(CssAtomSet::ATOMS, MarginTrimStyleValue, "");
assert_parse_error!(CssAtomSet::ATOMS, MarginTrimStyleValue, "auto");
}
#[test]
fn test_writes() {
assert_parse!(CssAtomSet::ATOMS, MarginLeftStyleValue, "auto");
assert_parse!(CssAtomSet::ATOMS, MarginStyleValue, "1px 1px");
assert_parse!(CssAtomSet::ATOMS, MarginStyleValue, "1px 2px");
assert_parse!(CssAtomSet::ATOMS, MarginStyleValue, "1px 2px 3px 4px");
}
}