diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/layout_flexible_box_test.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/layout_flexible_box_test.cc | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/layout_flexible_box_test.cc b/chromium/third_party/blink/renderer/core/layout/layout_flexible_box_test.cc index 07853d0ae57..ffd365643b8 100644 --- a/chromium/third_party/blink/renderer/core/layout/layout_flexible_box_test.cc +++ b/chromium/third_party/blink/renderer/core/layout/layout_flexible_box_test.cc @@ -509,4 +509,62 @@ TEST_P(LayoutFlexibleBoxTest, ResizedFlexChildRequiresVisualOverflowRecalc) { PhysicalRect(0, 0, 105, 960)); } +TEST_P(LayoutFlexibleBoxTest, PercentDefiniteGapUseCounter) { + SetBodyInnerHTML(CommonStyle() + R"HTML( + <div id="flex-box" style="gap: 20%;"></div> + )HTML"); + RunDocumentLifecycle(); + + EXPECT_TRUE(GetDocument().IsUseCounted(WebFeature::kFlexGapPositive)); + EXPECT_TRUE(GetDocument().IsUseCounted(WebFeature::kFlexGapSpecified)); + EXPECT_TRUE(GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercent)); + EXPECT_FALSE( + GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercentIndefinite)); +} + +TEST_P(LayoutFlexibleBoxTest, PercentIndefiniteGapUseCounter) { + SetBodyInnerHTML(CommonStyle() + R"HTML( + <div style="display: flex; row-gap: 20%;"></div> + )HTML"); + RunDocumentLifecycle(); + + EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kFlexGapPositive)); + EXPECT_TRUE(GetDocument().IsUseCounted(WebFeature::kFlexGapSpecified)); + EXPECT_TRUE(GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercent)); + EXPECT_TRUE( + GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercentIndefinite)); +} + +TEST_P(LayoutFlexibleBoxTest, ZeroGapUseCounter) { + SetBodyInnerHTML(CommonStyle() + R"HTML( + <div style="display: flex; gap: 0;"></div> + )HTML"); + RunDocumentLifecycle(); + + EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kFlexGapPositive)); + EXPECT_TRUE(GetDocument().IsUseCounted(WebFeature::kFlexGapSpecified)); + EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercent)); + EXPECT_FALSE( + GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercentIndefinite)); +} + +TEST_P(LayoutFlexibleBoxTest, NormalGapUseCounter) { + // 'normal' is the initial value. It resolves to non-zero for multi-col but 0 + // for flex. + SetBodyInnerHTML(CommonStyle() + R"HTML( + <div style="display: flex; gap: normal"></div> + <div style="display: flex; gap: auto"></div> + <div style="display: flex; gap: initial"></div> + <div style="display: flex; gap: -10px"></div> + <div style="display: flex; gap: 1hz"></div> + )HTML"); + RunDocumentLifecycle(); + + EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kFlexGapPositive)); + EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kFlexGapSpecified)); + EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercent)); + EXPECT_FALSE( + GetDocument().IsUseCounted(WebFeature::kFlexRowGapPercentIndefinite)); +} + } // namespace blink |