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

Unified Diff: ui/gfx/geometry/rect_unittest.cc

Issue 1186133003: gfx: Fix ToEnclosing/ToEnclosed math to deal with big numbers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move function Created 5 years, 6 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
« ui/gfx/geometry/rect.h ('K') | « ui/gfx/geometry/rect_conversions.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/geometry/rect_unittest.cc
diff --git a/ui/gfx/geometry/rect_unittest.cc b/ui/gfx/geometry/rect_unittest.cc
index 00a9677f0410f4fc42104f4ae70e6b2c89d365ac..edc95ea2fe0ad680d3e199d08eee8daa7b88b9cb 100644
--- a/ui/gfx/geometry/rect_unittest.cc
+++ b/ui/gfx/geometry/rect_unittest.cc
@@ -910,4 +910,47 @@ TEST(RectTest, ManhattanInternalDistance) {
f.ManhattanInternalDistance(gfx::RectF(-1.5f, 0.0f, 1.5f, 1.0f)));
}
+TEST(RectTest, SafelyScaleToEnclosingRect) {
+ {
+ Rect input(1, 2, 3, 4);
+ Rect result = SafelyScaleToEnclosingRect(input, 5.f);
+ EXPECT_EQ(Rect(5, 10, 15, 20), result);
+ }
+ {
+ Rect input(-1, -2, 3, 4);
+ Rect result = SafelyScaleToEnclosingRect(input, 0.5f);
+ EXPECT_EQ(Rect(-1, -1, 2, 2), result);
+ }
+ {
+ Rect input(0, 0, std::numeric_limits<int>::max() / 2,
+ std::numeric_limits<int>::max());
+ Rect result = SafelyScaleToEnclosingRect(input, 2.f);
+ EXPECT_EQ(Rect(0, 0, std::numeric_limits<int>::max(),
+ std::numeric_limits<int>::max()),
+ result);
+ }
+ {
+ Rect input(std::numeric_limits<int>::min() / 2,
+ std::numeric_limits<int>::min() / 2,
+ std::numeric_limits<int>::max(),
+ std::numeric_limits<int>::max());
+ Rect result = SafelyScaleToEnclosingRect(input, 2.f);
+ EXPECT_EQ(
+ Rect(std::numeric_limits<int>::min(), std::numeric_limits<int>::min(),
+ std::numeric_limits<int>::max(), std::numeric_limits<int>::max()),
+ result);
+ }
+ {
+ Rect input(std::numeric_limits<int>::max() / 2,
+ std::numeric_limits<int>::max() / 2,
+ std::numeric_limits<int>::max(),
+ std::numeric_limits<int>::max());
+ Rect result = SafelyScaleToEnclosingRect(input, 2.f);
+ EXPECT_EQ(Rect(std::numeric_limits<int>::max(),
+ std::numeric_limits<int>::max(), 0, 0),
+ result);
+ }
+}
+
+
} // namespace gfx
« ui/gfx/geometry/rect.h ('K') | « ui/gfx/geometry/rect_conversions.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698