TEST_F(RuleFeatureSetTest, interleavedDescendantSibling6)
{
    updateInvalidationSets(".k > .l ~ .m + .n .o + .p");

    InvalidationLists invalidationLists;
    collectInvalidationSetsForClass(invalidationLists, "k");
    expectClassInvalidation("p", invalidationLists.descendants);
    expectNoInvalidation(invalidationLists.siblings);
}
TEST_F(RuleFeatureSetTest, contentPseudo)
{
    updateInvalidationSets(".a ::content .b");
    updateInvalidationSets(".a .c");

    InvalidationLists invalidationLists;
    collectInvalidationSetsForClass(invalidationLists, "a");
    expectClassInvalidation("c", invalidationLists.descendants);

    updateInvalidationSets(".a .b");

    invalidationLists.descendants.clear();
    collectInvalidationSetsForClass(invalidationLists, "a");
    expectClassesInvalidation("b", "c", invalidationLists.descendants);
}