| Index: third_party/WebKit/Source/core/layout/OverflowModelTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/OverflowModelTest.cpp b/third_party/WebKit/Source/core/layout/OverflowModelTest.cpp
|
| index c2f955421f06c3cf975e64bd51d266b3d445e1df..586f8bc07d4dbe386937300cc56296b33924dd03 100644
|
| --- a/third_party/WebKit/Source/core/layout/OverflowModelTest.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/OverflowModelTest.cpp
|
| @@ -46,32 +46,109 @@ LayoutRect initialVisualOverflow()
|
| return LayoutRect(0, 0, 100, 100);
|
| }
|
|
|
| -class OverflowModelTest : public testing::Test {
|
| +class SimpleOverflowModelTest : public testing::Test {
|
| protected:
|
| - OverflowModelTest() : m_overflow(initialLayoutOverflow(), initialVisualOverflow()) { }
|
| + SimpleOverflowModelTest() : m_overflow(initialLayoutOverflow(), initialVisualOverflow()) { }
|
| + SimpleOverflowModel m_overflow;
|
| +};
|
| +
|
| +TEST_F(SimpleOverflowModelTest, InitialOverflowRects)
|
| +{
|
| + EXPECT_EQ(initialLayoutOverflow(), m_overflow.layoutOverflowRect());
|
| + EXPECT_EQ(initialVisualOverflow(), m_overflow.visualOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddLayoutOverflowOutsideExpandsRect)
|
| +{
|
| + m_overflow.addLayoutOverflow(LayoutRect(0, 10, 30, 10));
|
| + EXPECT_EQ(LayoutRect(0, 10, 90, 80), m_overflow.layoutOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddLayoutOverflowInsideDoesNotAffectRect)
|
| +{
|
| + m_overflow.addLayoutOverflow(LayoutRect(50, 50, 10, 20));
|
| + EXPECT_EQ(initialLayoutOverflow(), m_overflow.layoutOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddLayoutOverflowEmpty)
|
| +{
|
| + // This test documents the existing behavior so that we are aware when/if
|
| + // it changes. It would also be reasonable for addLayoutOverflow to be
|
| + // a no-op in this situation.
|
| + m_overflow.addLayoutOverflow(LayoutRect(200, 200, 0, 0));
|
| + EXPECT_EQ(LayoutRect(10, 10, 190, 190), m_overflow.layoutOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddLayoutOverflowDoesNotAffectVisualOverflow)
|
| +{
|
| + m_overflow.addLayoutOverflow(LayoutRect(300, 300, 300, 300));
|
| + EXPECT_EQ(initialVisualOverflow(), m_overflow.visualOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddVisualOverflowOutsideExpandsRect)
|
| +{
|
| + m_overflow.addVisualOverflow(LayoutRect(150, -50, 10, 10));
|
| + EXPECT_EQ(LayoutRect(0, -50, 160, 150), m_overflow.visualOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddVisualOverflowInsideDoesNotAffectRect)
|
| +{
|
| + m_overflow.addVisualOverflow(LayoutRect(0, 10, 90, 90));
|
| + EXPECT_EQ(initialVisualOverflow(), m_overflow.visualOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddVisualOverflowEmpty)
|
| +{
|
| + m_overflow.setVisualOverflow(LayoutRect(0, 0, 600, 0));
|
| + m_overflow.addVisualOverflow(LayoutRect(100, -50, 100, 100));
|
| + m_overflow.addVisualOverflow(LayoutRect(300, 300, 0, 10000));
|
| + EXPECT_EQ(LayoutRect(100, -50, 100, 100), m_overflow.visualOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, AddVisualOverflowDoesNotAffectLayoutOverflow)
|
| +{
|
| + m_overflow.addVisualOverflow(LayoutRect(300, 300, 300, 300));
|
| + EXPECT_EQ(initialLayoutOverflow(), m_overflow.layoutOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, MoveAffectsLayoutOverflow)
|
| +{
|
| + m_overflow.move(LayoutUnit(500), LayoutUnit(100));
|
| + EXPECT_EQ(LayoutRect(510, 110, 80, 80), m_overflow.layoutOverflowRect());
|
| +}
|
| +
|
| +TEST_F(SimpleOverflowModelTest, MoveAffectsVisualOverflow)
|
| +{
|
| + m_overflow.move(LayoutUnit(500), LayoutUnit(100));
|
| + EXPECT_EQ(LayoutRect(500, 100, 100, 100), m_overflow.visualOverflowRect());
|
| +}
|
| +
|
| +class BoxOverflowModelTest : public testing::Test {
|
| +protected:
|
| + BoxOverflowModelTest() : m_overflow(initialLayoutOverflow(), initialVisualOverflow()) { }
|
| BoxOverflowModel m_overflow;
|
| };
|
|
|
| -TEST_F(OverflowModelTest, InitialOverflowRects)
|
| +TEST_F(BoxOverflowModelTest, InitialOverflowRects)
|
| {
|
| EXPECT_EQ(initialLayoutOverflow(), m_overflow.layoutOverflowRect());
|
| EXPECT_EQ(initialVisualOverflow(), m_overflow.selfVisualOverflowRect());
|
| EXPECT_TRUE(m_overflow.contentsVisualOverflowRect().isEmpty());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddLayoutOverflowOutsideExpandsRect)
|
| +TEST_F(BoxOverflowModelTest, AddLayoutOverflowOutsideExpandsRect)
|
| {
|
| m_overflow.addLayoutOverflow(LayoutRect(0, 10, 30, 10));
|
| EXPECT_EQ(LayoutRect(0, 10, 90, 80), m_overflow.layoutOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddLayoutOverflowInsideDoesNotAffectRect)
|
| +TEST_F(BoxOverflowModelTest, AddLayoutOverflowInsideDoesNotAffectRect)
|
| {
|
| m_overflow.addLayoutOverflow(LayoutRect(50, 50, 10, 20));
|
| EXPECT_EQ(initialLayoutOverflow(), m_overflow.layoutOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddLayoutOverflowEmpty)
|
| +TEST_F(BoxOverflowModelTest, AddLayoutOverflowEmpty)
|
| {
|
| // This test documents the existing behavior so that we are aware when/if
|
| // it changes. It would also be reasonable for addLayoutOverflow to be
|
| @@ -80,94 +157,90 @@ TEST_F(OverflowModelTest, AddLayoutOverflowEmpty)
|
| EXPECT_EQ(LayoutRect(10, 10, 190, 190), m_overflow.layoutOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddLayoutOverflowDoesNotAffectVisualOverflow)
|
| +TEST_F(BoxOverflowModelTest, AddLayoutOverflowDoesNotAffectSelfVisualOverflow)
|
| {
|
| m_overflow.addLayoutOverflow(LayoutRect(300, 300, 300, 300));
|
| EXPECT_EQ(initialVisualOverflow(), m_overflow.selfVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddLayoutOverflowDoesNotAffectContentsVisualOverflow)
|
| +TEST_F(BoxOverflowModelTest, AddLayoutOverflowDoesNotAffectContentsVisualOverflow)
|
| {
|
| m_overflow.addLayoutOverflow(LayoutRect(300, 300, 300, 300));
|
| EXPECT_TRUE(m_overflow.contentsVisualOverflowRect().isEmpty());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddVisualOverflowOutsideExpandsRect)
|
| +TEST_F(BoxOverflowModelTest, AddSelfVisualOverflowOutsideExpandsRect)
|
| {
|
| m_overflow.addSelfVisualOverflow(LayoutRect(150, -50, 10, 10));
|
| EXPECT_EQ(LayoutRect(0, -50, 160, 150), m_overflow.selfVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddVisualOverflowInsideDoesNotAffectRect)
|
| +TEST_F(BoxOverflowModelTest, AddSelfVisualOverflowInsideDoesNotAffectRect)
|
| {
|
| m_overflow.addSelfVisualOverflow(LayoutRect(0, 10, 90, 90));
|
| EXPECT_EQ(initialVisualOverflow(), m_overflow.selfVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddVisualOverflowEmpty)
|
| +TEST_F(BoxOverflowModelTest, AddSelfVisualOverflowEmpty)
|
| {
|
| - // This test documents the existing behavior so that we are aware when/if
|
| - // it changes. It would also be reasonable for addVisualOverflow to be
|
| - // a no-op in this situation.
|
| - m_overflow.addSelfVisualOverflow(LayoutRect(200, 200, 0, 0));
|
| - EXPECT_EQ(LayoutRect(0, 0, 200, 200), m_overflow.selfVisualOverflowRect());
|
| + BoxOverflowModel overflow(LayoutRect(), LayoutRect(0, 0, 600, 0));
|
| + overflow.addSelfVisualOverflow(LayoutRect(100, -50, 100, 100));
|
| + overflow.addSelfVisualOverflow(LayoutRect(300, 300, 0, 10000));
|
| + EXPECT_EQ(LayoutRect(100, -50, 100, 100), overflow.selfVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddVisualOverflowDoesNotAffectLayoutOverflow)
|
| +TEST_F(BoxOverflowModelTest, AddSelfVisualOverflowDoesNotAffectLayoutOverflow)
|
| {
|
| m_overflow.addSelfVisualOverflow(LayoutRect(300, 300, 300, 300));
|
| EXPECT_EQ(initialLayoutOverflow(), m_overflow.layoutOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddVisualOverflowDoesNotAffectContentsVisualOverflow)
|
| +TEST_F(BoxOverflowModelTest, AddSelfVisualOverflowDoesNotAffectContentsVisualOverflow)
|
| {
|
| m_overflow.addSelfVisualOverflow(LayoutRect(300, 300, 300, 300));
|
| EXPECT_TRUE(m_overflow.contentsVisualOverflowRect().isEmpty());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddContentsVisualOverflowFirstCall)
|
| +TEST_F(BoxOverflowModelTest, AddContentsVisualOverflowFirstCall)
|
| {
|
| m_overflow.addContentsVisualOverflow(LayoutRect(0, 0, 10, 10));
|
| EXPECT_EQ(LayoutRect(0, 0, 10, 10), m_overflow.contentsVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddContentsVisualOverflowUnitesRects)
|
| +TEST_F(BoxOverflowModelTest, AddContentsVisualOverflowUnitesRects)
|
| {
|
| m_overflow.addContentsVisualOverflow(LayoutRect(0, 0, 10, 10));
|
| m_overflow.addContentsVisualOverflow(LayoutRect(80, 80, 10, 10));
|
| EXPECT_EQ(LayoutRect(0, 0, 90, 90), m_overflow.contentsVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddContentsVisualOverflowRectWithinRect)
|
| +TEST_F(BoxOverflowModelTest, AddContentsVisualOverflowRectWithinRect)
|
| {
|
| m_overflow.addContentsVisualOverflow(LayoutRect(0, 0, 10, 10));
|
| m_overflow.addContentsVisualOverflow(LayoutRect(2, 2, 5, 5));
|
| EXPECT_EQ(LayoutRect(0, 0, 10, 10), m_overflow.contentsVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, AddContentsVisualOverflowEmpty)
|
| +TEST_F(BoxOverflowModelTest, AddContentsVisualOverflowEmpty)
|
| {
|
| - // This test documents the existing behavior so that we are aware when/if
|
| - // it changes. It would also be reasonable for addContentsVisualOverflow to
|
| - // expand in this situation.
|
| m_overflow.addContentsVisualOverflow(LayoutRect(0, 0, 10, 10));
|
| m_overflow.addContentsVisualOverflow(LayoutRect(20, 20, 0, 0));
|
| EXPECT_EQ(LayoutRect(0, 0, 10, 10), m_overflow.contentsVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, MoveAffectsLayoutOverflow)
|
| +TEST_F(BoxOverflowModelTest, MoveAffectsLayoutOverflow)
|
| {
|
| m_overflow.move(LayoutUnit(500), LayoutUnit(100));
|
| EXPECT_EQ(LayoutRect(510, 110, 80, 80), m_overflow.layoutOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, MoveAffectsVisualOverflow)
|
| +TEST_F(BoxOverflowModelTest, MoveAffectsSelfVisualOverflow)
|
| {
|
| m_overflow.move(LayoutUnit(500), LayoutUnit(100));
|
| EXPECT_EQ(LayoutRect(500, 100, 100, 100), m_overflow.selfVisualOverflowRect());
|
| }
|
|
|
| -TEST_F(OverflowModelTest, MoveAffectsContentsVisualOverflow)
|
| +TEST_F(BoxOverflowModelTest, MoveAffectsContentsVisualOverflow)
|
| {
|
| m_overflow.addContentsVisualOverflow(LayoutRect(0, 0, 10, 10));
|
| m_overflow.move(LayoutUnit(500), LayoutUnit(100));
|
|
|