Index: third_party/WebKit/Source/core/css/RuleFeatureSetTest.cpp |
diff --git a/third_party/WebKit/Source/core/css/RuleFeatureSetTest.cpp b/third_party/WebKit/Source/core/css/RuleFeatureSetTest.cpp |
index 39f4edcabffabdd765959137d8c46a083a9e22fc..4f9d55b37f323810e027f85537abb6bf35249093 100644 |
--- a/third_party/WebKit/Source/core/css/RuleFeatureSetTest.cpp |
+++ b/third_party/WebKit/Source/core/css/RuleFeatureSetTest.cpp |
@@ -184,6 +184,11 @@ public: |
EXPECT_EQ(count, m_ruleFeatureSet.siblingRules.size()); |
} |
+ void expectUncommonAttributeRuleCount(unsigned count) |
+ { |
+ EXPECT_EQ(count, m_ruleFeatureSet.uncommonAttributeRules.size()); |
+ } |
+ |
DEFINE_INLINE_TRACE() |
{ |
#if ENABLE(OILPAN) |
@@ -423,4 +428,52 @@ TEST_F(RuleFeatureSetTest, siblingRulesBeforeHostContext) |
expectSiblingRuleCount(0); |
} |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesAfterContentPseudo) |
+{ |
+ collectFeatures("div ::content [attr]"); |
+ expectUncommonAttributeRuleCount(1); |
+} |
+ |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesBeforeContentPseudo) |
+{ |
+ collectFeatures("[attr] ::content div"); |
+ expectUncommonAttributeRuleCount(0); |
+} |
+ |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesSlotted) |
+{ |
+ collectFeatures("::slotted([attr])"); |
+ expectUncommonAttributeRuleCount(1); |
+} |
+ |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesBeforeSlotted) |
+{ |
+ collectFeatures("[attr]::slotted(*)"); |
+ expectUncommonAttributeRuleCount(0); |
+} |
+ |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesHost) |
+{ |
+ collectFeatures(":host([attr])"); |
+ expectUncommonAttributeRuleCount(1); |
+} |
+ |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesBeforeHost) |
+{ |
+ collectFeatures("[attr] :host"); |
+ expectUncommonAttributeRuleCount(0); |
+} |
+ |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesHostContext) |
+{ |
+ collectFeatures(":host-context([attr])"); |
+ expectUncommonAttributeRuleCount(1); |
+} |
+ |
+TEST_F(RuleFeatureSetTest, uncommonAttributeRulesBeforeHostContext) |
+{ |
+ collectFeatures("[attr] :host-context(div)"); |
+ expectUncommonAttributeRuleCount(0); |
+} |
+ |
} // namespace blink |