Commit 1f2a4f4c authored by Anders Hartvoll Ruud's avatar Anders Hartvoll Ruud Committed by Commit Bot

Avoid rule ranges in MatchResultTest

Instead of relying on calls to UaRules/UserRules/AuthorRules/AllRules,
just check the origin at each vector index directly.

This prepares for the removal of the rule ranges in a subsequent CL.

Change-Id: I86f57ca1c2f04619db99f7cd1c62345b8f0f262a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2310675
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: default avatarXiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791174}
parent 8f77748b
......@@ -21,6 +21,15 @@ class MatchResultTest : public PageTestBase {
return property_sets->at(index).Get();
}
size_t LengthOf(const MatchResult& result) const {
return result.GetMatchedProperties().size();
}
CascadeOrigin OriginAt(const MatchResult& result, size_t index) const {
DCHECK_LT(index, LengthOf(result));
return result.GetMatchedProperties()[index].types_.origin;
}
private:
Persistent<HeapVector<Member<MutableCSSPropertyValueSet>, 8>> property_sets;
};
......@@ -43,14 +52,6 @@ void TestMatchedPropertiesRange(const MatchedPropertiesRange& range,
EXPECT_EQ(*expected_sets++, matched_properties.properties);
}
void TestOriginInRange(const MatchedPropertiesRange& range,
int expected_length,
CascadeOrigin expected_origin) {
EXPECT_EQ(expected_length, range.end() - range.begin());
for (const auto& matched_properties : range)
EXPECT_EQ(matched_properties.types_.origin, expected_origin);
}
TEST_F(MatchResultTest, UARules) {
const CSSPropertyValueSet* ua_sets[] = {PropertySet(0), PropertySet(1)};
......@@ -193,8 +194,9 @@ TEST_F(MatchResultTest, CascadeOriginUserAgent) {
result.FinishAddingUserRules();
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 2, CascadeOrigin::kUserAgent);
TestOriginInRange(result.AllRules(), 2, CascadeOrigin::kUserAgent);
ASSERT_EQ(LengthOf(result), 2u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUserAgent);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUserAgent);
}
TEST_F(MatchResultTest, CascadeOriginUser) {
......@@ -205,8 +207,9 @@ TEST_F(MatchResultTest, CascadeOriginUser) {
result.FinishAddingUserRules();
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UserRules(), 2, CascadeOrigin::kUser);
TestOriginInRange(result.AllRules(), 2, CascadeOrigin::kUser);
ASSERT_EQ(LengthOf(result), 2u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUser);
}
TEST_F(MatchResultTest, CascadeOriginAuthor) {
......@@ -217,8 +220,9 @@ TEST_F(MatchResultTest, CascadeOriginAuthor) {
result.AddMatchedProperties(PropertySet(1));
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.AuthorRules(), 2, CascadeOrigin::kAuthor);
TestOriginInRange(result.AllRules(), 2, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 2u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kAuthor);
}
TEST_F(MatchResultTest, CascadeOriginAll) {
......@@ -233,9 +237,13 @@ TEST_F(MatchResultTest, CascadeOriginAll) {
result.AddMatchedProperties(PropertySet(5));
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 1, CascadeOrigin::kUserAgent);
TestOriginInRange(result.UserRules(), 2, CascadeOrigin::kUser);
TestOriginInRange(result.AuthorRules(), 3, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 6u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUserAgent);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 2), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 3), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 4), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 5), CascadeOrigin::kAuthor);
}
TEST_F(MatchResultTest, CascadeOriginAllExceptUserAgent) {
......@@ -249,9 +257,12 @@ TEST_F(MatchResultTest, CascadeOriginAllExceptUserAgent) {
result.AddMatchedProperties(PropertySet(5));
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 0, CascadeOrigin::kUserAgent);
TestOriginInRange(result.UserRules(), 2, CascadeOrigin::kUser);
TestOriginInRange(result.AuthorRules(), 3, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 5u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 2), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 3), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 4), CascadeOrigin::kAuthor);
}
TEST_F(MatchResultTest, CascadeOriginAllExceptUser) {
......@@ -264,9 +275,11 @@ TEST_F(MatchResultTest, CascadeOriginAllExceptUser) {
result.AddMatchedProperties(PropertySet(5));
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 1, CascadeOrigin::kUserAgent);
TestOriginInRange(result.UserRules(), 0, CascadeOrigin::kUser);
TestOriginInRange(result.AuthorRules(), 3, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 4u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUserAgent);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 2), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 3), CascadeOrigin::kAuthor);
}
TEST_F(MatchResultTest, CascadeOriginAllExceptAuthor) {
......@@ -278,9 +291,10 @@ TEST_F(MatchResultTest, CascadeOriginAllExceptAuthor) {
result.FinishAddingUserRules();
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 1, CascadeOrigin::kUserAgent);
TestOriginInRange(result.UserRules(), 2, CascadeOrigin::kUser);
TestOriginInRange(result.AuthorRules(), 0, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 3u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUserAgent);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 2), CascadeOrigin::kUser);
}
TEST_F(MatchResultTest, CascadeOriginTreeScopes) {
......@@ -299,9 +313,15 @@ TEST_F(MatchResultTest, CascadeOriginTreeScopes) {
result.AddMatchedProperties(PropertySet(7));
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 1, CascadeOrigin::kUserAgent);
TestOriginInRange(result.UserRules(), 1, CascadeOrigin::kUser);
TestOriginInRange(result.AuthorRules(), 6, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 8u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUserAgent);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 2), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 3), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 4), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 5), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 6), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 7), CascadeOrigin::kAuthor);
}
TEST_F(MatchResultTest, ExpansionsRange) {
......@@ -358,9 +378,12 @@ TEST_F(MatchResultTest, Reset) {
result.AddMatchedProperties(PropertySet(4));
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 1, CascadeOrigin::kUserAgent);
TestOriginInRange(result.UserRules(), 1, CascadeOrigin::kUser);
TestOriginInRange(result.AuthorRules(), 3, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 5u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUserAgent);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 2), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 3), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 4), CascadeOrigin::kAuthor);
// Check tree_order of last entry.
EXPECT_TRUE(result.HasMatchedProperties());
......@@ -373,10 +396,6 @@ TEST_F(MatchResultTest, Reset) {
result.Reset();
EXPECT_TRUE(result.UaRules().IsEmpty());
EXPECT_TRUE(result.UserRules().IsEmpty());
EXPECT_TRUE(result.AuthorRules().IsEmpty());
EXPECT_TRUE(result.AllRules().IsEmpty());
EXPECT_TRUE(result.IsCacheable());
EXPECT_FALSE(result.GetMatchedProperties().size());
EXPECT_FALSE(result.HasMatchedProperties());
......@@ -393,9 +412,12 @@ TEST_F(MatchResultTest, Reset) {
result.AddMatchedProperties(PropertySet(4));
result.FinishAddingAuthorRulesForTreeScope();
TestOriginInRange(result.UaRules(), 1, CascadeOrigin::kUserAgent);
TestOriginInRange(result.UserRules(), 1, CascadeOrigin::kUser);
TestOriginInRange(result.AuthorRules(), 3, CascadeOrigin::kAuthor);
ASSERT_EQ(LengthOf(result), 5u);
EXPECT_EQ(OriginAt(result, 0), CascadeOrigin::kUserAgent);
EXPECT_EQ(OriginAt(result, 1), CascadeOrigin::kUser);
EXPECT_EQ(OriginAt(result, 2), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 3), CascadeOrigin::kAuthor);
EXPECT_EQ(OriginAt(result, 4), CascadeOrigin::kAuthor);
// Check tree_order of last entry.
EXPECT_TRUE(result.HasMatchedProperties());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment