| Index: third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp b/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
|
| index 8ae6c8cdd6f6fb8cd4d74e6daa11b5b003d5fcdd..054b13fe255fcd5df459d944f43178059dfa3ee3 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
|
| @@ -245,6 +245,80 @@ TEST_F(LayoutTableCellTest, HasBorderAdjoiningTableRTL) {
|
| EXPECT_FALSE(HasEndBorderAdjoiningTable(cell32));
|
| }
|
|
|
| +TEST_F(LayoutTableCellTest, EffectiveColumnIndex) {
|
| + SetBodyInnerHTML(
|
| + "<table id='table'>"
|
| + " <tr>"
|
| + " <td id='cell11' colspan='2000'></td>"
|
| + " <td id='cell12'></td>"
|
| + " <td id='cell13'></td>"
|
| + " </tr>"
|
| + " <tr>"
|
| + " <td id='cell21' rowspan='2'></td>"
|
| + " <td id='cell22'></td>"
|
| + " <td id='cell23' colspan='2000'></td>"
|
| + " </tr>"
|
| + " <tr>"
|
| + " <td id='cell31'></td>"
|
| + " <td id='cell32'></td>"
|
| + " </tr>"
|
| + "</table>");
|
| +
|
| + // Effective column spans of absolute columns:
|
| + // 1 1 1 1997 1 1
|
| + // +-------------------+---+---+
|
| + // | 4 (2000) | 1 | 1 |
|
| + // |-------+-----------+---+---+
|
| + // | | 1 | 4 (2000) |
|
| + // | 1 |---+---+---------------|
|
| + // | | 1 | 1 |
|
| + // +---+---+---+
|
| + // Each number not in () is the span of effective columns of the cell.
|
| + // Each number in () is the span of absolute columns of the cell if it's
|
| + // different from the span of effective columns.
|
| +
|
| + const auto* cell11 = GetCellByElementId("cell11");
|
| + EXPECT_EQ(6u, cell11->Table()->NumEffectiveColumns());
|
| + EXPECT_EQ(0u, cell11->EffectiveColumnIndex());
|
| + EXPECT_EQ(0u, cell11->AbsoluteColumnIndex());
|
| + EXPECT_EQ(4u, cell11->EffectiveColumnIndexOfCellAfter());
|
| +
|
| + const auto* cell12 = GetCellByElementId("cell12");
|
| + EXPECT_EQ(4u, cell12->EffectiveColumnIndex());
|
| + EXPECT_EQ(2000u, cell12->AbsoluteColumnIndex());
|
| + EXPECT_EQ(5u, cell12->EffectiveColumnIndexOfCellAfter());
|
| +
|
| + const auto* cell13 = GetCellByElementId("cell13");
|
| + EXPECT_EQ(5u, cell13->EffectiveColumnIndex());
|
| + EXPECT_EQ(2001u, cell13->AbsoluteColumnIndex());
|
| + EXPECT_EQ(6u, cell13->EffectiveColumnIndexOfCellAfter());
|
| +
|
| + const auto* cell21 = GetCellByElementId("cell21");
|
| + EXPECT_EQ(0u, cell21->EffectiveColumnIndex());
|
| + EXPECT_EQ(0u, cell21->AbsoluteColumnIndex());
|
| + EXPECT_EQ(1u, cell21->EffectiveColumnIndexOfCellAfter());
|
| +
|
| + const auto* cell22 = GetCellByElementId("cell22");
|
| + EXPECT_EQ(1u, cell22->EffectiveColumnIndex());
|
| + EXPECT_EQ(1u, cell22->AbsoluteColumnIndex());
|
| + EXPECT_EQ(2u, cell22->EffectiveColumnIndexOfCellAfter());
|
| +
|
| + const auto* cell23 = GetCellByElementId("cell23");
|
| + EXPECT_EQ(2u, cell23->EffectiveColumnIndex());
|
| + EXPECT_EQ(2u, cell23->AbsoluteColumnIndex());
|
| + EXPECT_EQ(6u, cell23->EffectiveColumnIndexOfCellAfter());
|
| +
|
| + const auto* cell31 = GetCellByElementId("cell31");
|
| + EXPECT_EQ(1u, cell31->EffectiveColumnIndex());
|
| + EXPECT_EQ(1u, cell31->AbsoluteColumnIndex());
|
| + EXPECT_EQ(2u, cell31->EffectiveColumnIndexOfCellAfter());
|
| +
|
| + const auto* cell32 = GetCellByElementId("cell32");
|
| + EXPECT_EQ(2u, cell32->EffectiveColumnIndex());
|
| + EXPECT_EQ(2u, cell32->AbsoluteColumnIndex());
|
| + EXPECT_EQ(3u, cell32->EffectiveColumnIndexOfCellAfter());
|
| +}
|
| +
|
| TEST_F(LayoutTableCellTest, LocalVisualRectWithCollapsedBorders) {
|
| SetBodyInnerHTML(
|
| "<style>"
|
|
|