| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "platform/geometry/LayoutRect.h" | 5 #include "platform/geometry/LayoutRect.h" |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 #include "wtf/text/WTFString.h" | |
| 9 | 8 |
| 10 namespace blink { | 9 namespace blink { |
| 11 | 10 |
| 12 #ifndef NDEBUG | 11 TEST(LayoutRectTest, Formatting) |
| 13 TEST(LayoutRectTest, ToString) | |
| 14 { | 12 { |
| 15 LayoutRect emptyRect = LayoutRect(); | 13 LayoutRect emptyRect = LayoutRect(); |
| 16 EXPECT_EQ(String("0.000000,0.000000 0.000000x0.000000"), emptyRect.toString(
)); | 14 std::ostringstream emptyRectStream; |
| 15 emptyRectStream << emptyRect; |
| 16 EXPECT_EQ("LayoutRect(x=0, y=0, width=0, height=0)", emptyRectStream.str()); |
| 17 | 17 |
| 18 LayoutRect rect(1, 2, 3, 4); | 18 LayoutRect rect(1, 2, 3, 4); |
| 19 EXPECT_EQ(String("1.000000,2.000000 3.000000x4.000000"), rect.toString()); | 19 std::ostringstream rectStream; |
| 20 rectStream << rect; |
| 21 EXPECT_EQ("LayoutRect(x=1, y=2, width=3, height=4)", rectStream.str()); |
| 20 | 22 |
| 21 LayoutRect granularRect(LayoutUnit(1.6f), LayoutUnit(2.7f), LayoutUnit(3.8f)
, LayoutUnit(4.9f)); | 23 LayoutRect granularRect(LayoutUnit(1.6f), LayoutUnit(2.7f), LayoutUnit(3.8f)
, LayoutUnit(1.6f)); |
| 22 EXPECT_EQ(String("1.593750,2.687500 3.796875x4.890625"), granularRect.toStri
ng()); | 24 std::ostringstream granularRectStream; |
| 25 granularRectStream << granularRect; |
| 26 EXPECT_EQ("LayoutRect(x=1.59375, y=2.6875, width=3.79688, height=1.59375)",
granularRectStream.str()); |
| 27 |
| 28 LayoutRect infiniteRect(LayoutUnit::min(), LayoutUnit::min(), LayoutUnit::ma
x(), LayoutUnit::max()); |
| 29 std::ostringstream infiniteRectStream; |
| 30 infiniteRectStream << infiniteRect; |
| 31 EXPECT_EQ("LayoutRect(x=LayoutUnit::min(-3.35544e+07), y=LayoutUnit::min(-3.
35544e+07), width=LayoutUnit::max(3.35544e+07), height=LayoutUnit::max(3.35544e+
07))", infiniteRectStream.str()); |
| 23 } | 32 } |
| 24 | 33 |
| 34 #ifndef NDEBUG |
| 25 TEST(LayoutRectTest, InclusiveIntersect) | 35 TEST(LayoutRectTest, InclusiveIntersect) |
| 26 { | 36 { |
| 27 LayoutRect rect(11, 12, 0, 0); | 37 LayoutRect rect(11, 12, 0, 0); |
| 28 EXPECT_TRUE(rect.inclusiveIntersect(LayoutRect(11, 12, 13, 14))); | 38 EXPECT_TRUE(rect.inclusiveIntersect(LayoutRect(11, 12, 13, 14))); |
| 29 EXPECT_EQ(rect, LayoutRect(11, 12, 0, 0)); | 39 EXPECT_EQ(rect, LayoutRect(11, 12, 0, 0)); |
| 30 | 40 |
| 31 rect = LayoutRect(11, 12, 13, 14); | 41 rect = LayoutRect(11, 12, 13, 14); |
| 32 EXPECT_TRUE(rect.inclusiveIntersect(LayoutRect(24, 8, 0, 7))); | 42 EXPECT_TRUE(rect.inclusiveIntersect(LayoutRect(24, 8, 0, 7))); |
| 33 EXPECT_EQ(rect, LayoutRect(24, 12, 0, 3)); | 43 EXPECT_EQ(rect, LayoutRect(24, 12, 0, 3)); |
| 34 | 44 |
| 35 rect = LayoutRect(11, 12, 13, 14); | 45 rect = LayoutRect(11, 12, 13, 14); |
| 36 EXPECT_TRUE(rect.inclusiveIntersect(LayoutRect(9, 15, 4, 0))); | 46 EXPECT_TRUE(rect.inclusiveIntersect(LayoutRect(9, 15, 4, 0))); |
| 37 EXPECT_EQ(rect, LayoutRect(11, 15, 2, 0)); | 47 EXPECT_EQ(rect, LayoutRect(11, 15, 2, 0)); |
| 38 | 48 |
| 39 rect = LayoutRect(11, 12, 0, 14); | 49 rect = LayoutRect(11, 12, 0, 14); |
| 40 EXPECT_FALSE(rect.inclusiveIntersect(LayoutRect(12, 13, 15, 16))); | 50 EXPECT_FALSE(rect.inclusiveIntersect(LayoutRect(12, 13, 15, 16))); |
| 41 EXPECT_EQ(rect, LayoutRect()); | 51 EXPECT_EQ(rect, LayoutRect()); |
| 42 } | 52 } |
| 43 #endif | 53 #endif |
| 44 | 54 |
| 45 } // namespace blink | 55 } // namespace blink |
| OLD | NEW |