use velox_dom::{Props, VNode, h, text};
use velox_style::{Stylesheet, apply_styles_with_hover};
#[test]
fn hover_selector_applies_conditionally() {
let css = r#"
div:hover { color: blue; }
.btn:hover { background: yellow; }
"#;
let ss = Stylesheet::parse(css);
let vnode = h("div", Props::new().set("class", "btn"), vec![text("x")]);
let styled = apply_styles_with_hover(&vnode, &ss, &|_, _| false);
if let VNode::Element { props, .. } = styled {
assert!(!props.attrs.contains_key("style"));
}
let styled2 = apply_styles_with_hover(&vnode, &ss, &|tag, _| tag == "div");
if let VNode::Element { props, .. } = styled2 {
let style = props.attrs.get("style").unwrap();
assert!(style.contains("color: blue;"));
assert!(style.contains("background: yellow;"));
} else {
panic!("expected element");
}
}