in cli/src/generate/properties.rs [1146:1208]
fn test_property_sheet_with_fields() {
let sheet = generate_property_sheet(
"foo.css",
"
a {
color: red;
&.x {
color: green;
b {
color: blue;
&.y { color: yellow; }
}
}
b { color: orange; }
b.y { color: indigo; }
}
.x { color: violet; }
",
&HashSet::new(),
)
.unwrap();
assert_eq!(
*query(&sheet, vec![("a", None, true, 0)], ""),
props(&[("color", string("red"))])
);
assert_eq!(
*query(&sheet, vec![("a", Some("x"), true, 0)], ""),
props(&[("color", string("green"))])
);
assert_eq!(
*query(
&sheet,
vec![("a", Some("x"), true, 0), ("b", None, true, 0)],
""
),
props(&[("color", string("blue"))])
);
assert_eq!(
*query(
&sheet,
vec![("a", Some("x"), true, 0), ("b", Some("y"), true, 0)],
""
),
props(&[("color", string("yellow"))])
);
assert_eq!(
*query(&sheet, vec![("b", Some("x"), true, 0)], ""),
props(&[("color", string("violet"))])
);
assert_eq!(
*query(&sheet, vec![("a", None, true, 0), ("b", None, true, 0)], ""),
props(&[("color", string("orange"))])
);
assert_eq!(
*query(
&sheet,
vec![("a", None, true, 0), ("b", Some("y"), true, 0)],
""
),
props(&[("color", string("indigo"))])
);
}