Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(660)

Unified Diff: third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc

Issue 2664403003: [LayoutNG] Stack allocate NGLayoutOpportunityIterator. (Closed)
Patch Set: rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc
index 491177136397ea6139d0e0c238dc984c44471024..0c36c5418d5dc0f38d5d67e1203c2639edf8763b 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc
@@ -36,9 +36,10 @@ TEST(NGConstraintSpaceTest, LayoutOpportunitiesNoExclusions) {
size.block_size = LayoutUnit(400);
auto* space =
ConstructConstraintSpace(kHorizontalTopBottom, TextDirection::kLtr, size);
- auto* iterator = space->LayoutOpportunities();
- EXPECT_EQ("0,0 600x400", OpportunityToString(iterator->Next()));
- EXPECT_EQ("(empty)", OpportunityToString(iterator->Next()));
+
+ NGLayoutOpportunityIterator iterator(space);
+ EXPECT_EQ("0,0 600x400", OpportunityToString(iterator.Next()));
+ EXPECT_EQ("(empty)", OpportunityToString(iterator.Next()));
}
TEST(NGConstraintSpaceTest, LayoutOpportunitiesTopRightExclusion) {
@@ -54,13 +55,14 @@ TEST(NGConstraintSpaceTest, LayoutOpportunitiesTopRightExclusion) {
exclusion.rect.offset = {/* inline_offset */ LayoutUnit(500),
/* block_offset */ LayoutUnit(0)};
space->AddExclusion(exclusion);
- auto* iterator = space->LayoutOpportunities();
+
+ NGLayoutOpportunityIterator iterator(space);
// First opportunity should be to the left of the exclusion.
- EXPECT_EQ("0,0 500x400", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("0,0 500x400", OpportunityToString(iterator.Next()));
// Second opportunity should be below the exclusion.
- EXPECT_EQ("0,100 600x300", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("0,100 600x300", OpportunityToString(iterator.Next()));
// There should be no third opportunity.
- EXPECT_EQ("(empty)", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("(empty)", OpportunityToString(iterator.Next()));
}
TEST(NGConstraintSpaceTest, LayoutOpportunitiesTopLeftExclusion) {
@@ -76,13 +78,14 @@ TEST(NGConstraintSpaceTest, LayoutOpportunitiesTopLeftExclusion) {
exclusion.rect.offset = {/* inline_offset */ LayoutUnit(0),
/* block_offset */ LayoutUnit(0)};
space->AddExclusion(exclusion);
- auto* iterator = space->LayoutOpportunities();
+
+ NGLayoutOpportunityIterator iterator(space);
// First opportunity should be to the right of the exclusion.
- EXPECT_EQ("100,0 500x400", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("100,0 500x400", OpportunityToString(iterator.Next()));
// Second opportunity should be below the exclusion.
- EXPECT_EQ("0,100 600x300", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("0,100 600x300", OpportunityToString(iterator.Next()));
// There should be no third opportunity.
- EXPECT_EQ("(empty)", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("(empty)", OpportunityToString(iterator.Next()));
}
// Verifies that Layout Opportunity iterator produces 7 layout opportunities
@@ -127,20 +130,21 @@ TEST(NGConstraintSpaceTest, LayoutOpportunitiesTwoInMiddle) {
exclusion2.rect.offset = {/* inline_offset */ LayoutUnit(500),
/* block_offset */ LayoutUnit(350)};
space->AddExclusion(exclusion2);
- auto* iterator = space->LayoutOpportunities();
+
+ NGLayoutOpportunityIterator iterator(space);
// 1st Start point
- EXPECT_EQ("0,0 600x200", OpportunityToString(iterator->Next()));
- EXPECT_EQ("0,0 150x400", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("0,0 600x200", OpportunityToString(iterator.Next()));
+ EXPECT_EQ("0,0 150x400", OpportunityToString(iterator.Next()));
// 2nd Start point
- EXPECT_EQ("250,0 350x350", OpportunityToString(iterator->Next()));
- EXPECT_EQ("250,0 250x400", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("250,0 350x350", OpportunityToString(iterator.Next()));
+ EXPECT_EQ("250,0 250x400", OpportunityToString(iterator.Next()));
// 3rd Start point
- EXPECT_EQ("550,0 50x400", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("550,0 50x400", OpportunityToString(iterator.Next()));
// 4th Start point
- EXPECT_EQ("0,300 600x50", OpportunityToString(iterator->Next()));
- EXPECT_EQ("0,300 500x100", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("0,300 600x50", OpportunityToString(iterator.Next()));
+ EXPECT_EQ("0,300 500x100", OpportunityToString(iterator.Next()));
// Iterator is exhausted.
- EXPECT_EQ("(empty)", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("(empty)", OpportunityToString(iterator.Next()));
}
// This test is the same as LayoutOpportunitiesTwoInMiddle with the only
@@ -176,24 +180,24 @@ TEST(NGConstraintSpaceTest, LayoutOpportunitiesTwoInMiddleWithOriginAndLeader) {
exclusion2.rect.offset = {/* inline_offset */ LayoutUnit(500),
/* block_offset */ LayoutUnit(350)};
space->AddExclusion(exclusion2);
+
const NGLogicalOffset origin_point = {LayoutUnit(0), LayoutUnit(200)};
const NGLogicalOffset leader_point = {LayoutUnit(250), LayoutUnit(300)};
- auto* iterator =
- new NGLayoutOpportunityIterator(space, origin_point, leader_point);
+ NGLayoutOpportunityIterator iterator(space, origin_point, leader_point);
// 1st Start Point
- EXPECT_EQ("250,200 350x150", OpportunityToString(iterator->Next()));
- EXPECT_EQ("250,200 250x400", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("250,200 350x150", OpportunityToString(iterator.Next()));
+ EXPECT_EQ("250,200 250x400", OpportunityToString(iterator.Next()));
// 2nd Start Point
- EXPECT_EQ("550,200 50x400", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("550,200 50x400", OpportunityToString(iterator.Next()));
// 3rd Start Point
- EXPECT_EQ("0,300 600x50", OpportunityToString(iterator->Next()));
- EXPECT_EQ("0,300 500x300", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("0,300 600x50", OpportunityToString(iterator.Next()));
+ EXPECT_EQ("0,300 500x300", OpportunityToString(iterator.Next()));
// 4th Start Point
- EXPECT_EQ("0,400 600x200", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("0,400 600x200", OpportunityToString(iterator.Next()));
// TODO(glebl): The opportunity below should not be generated.
- EXPECT_EQ("250,400 350x200", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("250,400 350x200", OpportunityToString(iterator.Next()));
// Iterator is exhausted.
- EXPECT_EQ("(empty)", OpportunityToString(iterator->Next()));
+ EXPECT_EQ("(empty)", OpportunityToString(iterator.Next()));
}
// Verifies that Layout Opportunity iterator ignores the exclusion that is not
// within constraint space.
@@ -222,9 +226,10 @@ TEST(NGConstraintSpaceTest, LayoutOpportunitiesWithOutOfBoundsExclusions) {
exclusion.rect.offset = {/* inline_offset */ LayoutUnit(0),
/* block_offset */ LayoutUnit(150)};
space->AddExclusion(exclusion);
- auto* iterator = space->LayoutOpportunities();
- EXPECT_EQ("0,0 600x100", OpportunityToString(iterator->Next()));
- EXPECT_EQ("(empty)", OpportunityToString(iterator->Next()));
+
+ NGLayoutOpportunityIterator iterator(space);
+ EXPECT_EQ("0,0 600x100", OpportunityToString(iterator.Next()));
+ EXPECT_EQ("(empty)", OpportunityToString(iterator.Next()));
}
} // namespace

Powered by Google App Engine
This is Rietveld 408576698