summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-22 15:47:47 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-22 15:47:47 +0000
commitd4736820135edfcf780bb6d389d02ac79cf172f8 (patch)
treee43d5b123b75a00b97080cca3a835c4ec0863a4c /ui
parentf3579d1e17b14df5aedf167d30073298826ba50a (diff)
downloadchromium_src-d4736820135edfcf780bb6d389d02ac79cf172f8.zip
chromium_src-d4736820135edfcf780bb6d389d02ac79cf172f8.tar.gz
chromium_src-d4736820135edfcf780bb6d389d02ac79cf172f8.tar.bz2
Use EXPECT_FLOAT_EQ in interpolated xform unittest and SkMatrix44's operator== in Transform.
BUG=none TEST=ui_unittests views_unittests Review URL: http://codereview.chromium.org/7462013 Patch from Ian Vollick <vollick@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93640 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/gfx/interpolated_transform_unittest.cc35
-rw-r--r--ui/gfx/transform.cc21
2 files changed, 12 insertions, 44 deletions
diff --git a/ui/gfx/interpolated_transform_unittest.cc b/ui/gfx/interpolated_transform_unittest.cc
index 08e7279..fa5debc 100644
--- a/ui/gfx/interpolated_transform_unittest.cc
+++ b/ui/gfx/interpolated_transform_unittest.cc
@@ -9,26 +9,13 @@
namespace {
-const static float EPSILON = 1e-6f;
-
-bool ApproximatelyEqual(float lhs, float rhs) {
- if (lhs == 0)
- return fabs(rhs) < EPSILON;
- if (rhs == 0)
- return fabs(lhs) < EPSILON;
- return fabs(lhs - rhs) / std::max(fabs(rhs), fabs(lhs)) < EPSILON;
-}
-
-bool ApproximatelyEqual(const ui::Transform& lhs, const ui::Transform& rhs) {
+void CheckApproximatelyEqual(const ui::Transform& lhs,
+ const ui::Transform& rhs) {
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
- if (!ApproximatelyEqual(lhs.matrix().get(i, j),
- rhs.matrix().get(i, j))) {
- return false;
- }
+ EXPECT_FLOAT_EQ(lhs.matrix().get(i, j), rhs.matrix().get(i, j));
}
}
- return true;
}
} // namespace
@@ -42,9 +29,9 @@ TEST(InterpolatedTransformTest, InterpolatedRotation) {
ui::Transform rotation;
rotation.SetRotate(i);
ui::Transform interpolated = interpolated_rotation.Interpolate(i / 100.0f);
- EXPECT_TRUE(ApproximatelyEqual(rotation, interpolated));
+ CheckApproximatelyEqual(rotation, interpolated);
interpolated = interpolated_rotation_diff_start_end.Interpolate(i + 100);
- EXPECT_TRUE(ApproximatelyEqual(rotation, interpolated));
+ CheckApproximatelyEqual(rotation, interpolated);
}
}
@@ -57,9 +44,9 @@ TEST(InterpolatedTransformTest, InterpolatedScale) {
ui::Transform scale;
scale.SetScale(i, i);
ui::Transform interpolated = interpolated_scale.Interpolate(i / 100.0f);
- EXPECT_TRUE(ApproximatelyEqual(scale, interpolated));
+ CheckApproximatelyEqual(scale, interpolated);
interpolated = interpolated_scale_diff_start_end.Interpolate(i + 100);
- EXPECT_TRUE(ApproximatelyEqual(scale, interpolated));
+ CheckApproximatelyEqual(scale, interpolated);
}
}
@@ -74,9 +61,9 @@ TEST(InterpolatedTransformTest, InterpolatedTranslate) {
ui::Transform xform;
xform.SetTranslate(i, i);
ui::Transform interpolated = interpolated_xform.Interpolate(i / 100.0f);
- EXPECT_TRUE(ApproximatelyEqual(xform, interpolated));
+ CheckApproximatelyEqual(xform, interpolated);
interpolated = interpolated_xform_diff_start_end.Interpolate(i + 100);
- EXPECT_TRUE(ApproximatelyEqual(xform, interpolated));
+ CheckApproximatelyEqual(xform, interpolated);
}
}
@@ -88,7 +75,7 @@ TEST(InterpolatedTransformTest, InterpolatedRotationAboutPivot) {
pivot,
new ui::InterpolatedRotation(0, 90));
ui::Transform result = interpolated_xform.Interpolate(0.0f);
- EXPECT_TRUE(ApproximatelyEqual(ui::Transform(), result));
+ CheckApproximatelyEqual(ui::Transform(), result);
result = interpolated_xform.Interpolate(1.0f);
gfx::Point expected_result = pivot;
result.TransformPoint(pivot);
@@ -105,7 +92,7 @@ TEST(InterpolatedTransformTest, InterpolatedScaleAboutPivot) {
pivot,
new ui::InterpolatedScale(1, 2));
ui::Transform result = interpolated_xform.Interpolate(0.0f);
- EXPECT_TRUE(ApproximatelyEqual(ui::Transform(), result));
+ CheckApproximatelyEqual(ui::Transform(), result);
result = interpolated_xform.Interpolate(1.0f);
gfx::Point expected_result = pivot;
result.TransformPoint(pivot);
diff --git a/ui/gfx/transform.cc b/ui/gfx/transform.cc
index 5d4463e..5398145 100644
--- a/ui/gfx/transform.cc
+++ b/ui/gfx/transform.cc
@@ -16,18 +16,6 @@ static int SymmetricRound(float x) {
: std::ceil(x - 0.5f));
}
-static const float EPSILON = 1e-6f;
-
-static bool ApproximatelyEqual(float a, float b) {
- if (a == 0) {
- return fabs(b) < EPSILON;
- }
- if (b == 0) {
- return fabs(a) < EPSILON;
- }
- return fabs(a - b) / std::max(fabs(a), fabs(b)) < EPSILON;
-}
-
} // namespace
namespace ui {
@@ -39,14 +27,7 @@ Transform::Transform() {
Transform::~Transform() {}
bool Transform::operator==(const Transform& rhs) const {
- for (int i = 0; i < 4; ++i) {
- for (int j = 0; j < 4; ++j) {
- if (!ApproximatelyEqual(matrix_.get(i,j), rhs.matrix_.get(i,j))) {
- return false;
- }
- }
- }
- return true;
+ return matrix_ == rhs.matrix_;
}
bool Transform::operator!=(const Transform& rhs) const {