Index: ios/web/web_state/ui/crw_web_controller_unittest.mm |
diff --git a/ios/web/web_state/ui/crw_web_controller_unittest.mm b/ios/web/web_state/ui/crw_web_controller_unittest.mm |
index 56fd77a09054f38ab70470793c0ac3f0966d25e9..795e9fdbbf19c6cf8c5c83335f10d33fd0d27cf3 100644 |
--- a/ios/web/web_state/ui/crw_web_controller_unittest.mm |
+++ b/ios/web/web_state/ui/crw_web_controller_unittest.mm |
@@ -914,6 +914,15 @@ class CRWWKWebControllerPageScrollStateTest : public web::WKWebViewWebTest { |
} |
}; |
+// Helper function for comparing two CGFloats. |
+bool CGFloatsAreEqual(CGFloat val1, CGFloat val2) { |
+#if CGFLOAT_IS_DOUBLE |
+ return std::fabs(val1 - val2) < DBL_EPSILON; |
Eugene But (OOO till 7-30)
2015/05/21 21:13:11
Can you use "std::numeric_limits<CGFloat>::epsilon
kkhorimoto
2015/05/21 22:07:09
Done.
|
+#else |
+ return std::fabsf(val1 - val2) < FLT_EPSILON; |
+#endif // CGFLOAT_IS_DOUBLE |
+} |
+ |
WEB_TEST_F(CRWUIWebControllerPageScrollStateTest, |
CRWWKWebControllerPageScrollStateTest, |
SetPageStateWithUserScalableDisabled) { |
@@ -945,12 +954,12 @@ WEB_TEST_F(CRWUIWebControllerPageScrollStateTest, |
// setPageState: is async; wait for its completion. |
scrollView = [[[this->webController_ view] subviews][0] scrollView]; |
base::test::ios::WaitUntilCondition(^bool() { |
- return [scrollView contentOffset].x == 1.0f; |
+ return CGFloatsAreEqual(scrollView.contentOffset.x, 1.0f); |
}); |
- ASSERT_EQ(originZoomScale, scrollView.zoomScale); |
- ASSERT_EQ(originMinimumZoomScale, scrollView.minimumZoomScale); |
- ASSERT_EQ(originMaximumZoomScale, scrollView.maximumZoomScale); |
+ ASSERT_CGFLOAT_EQ(originZoomScale, scrollView.zoomScale); |
+ ASSERT_CGFLOAT_EQ(originMinimumZoomScale, scrollView.minimumZoomScale); |
+ ASSERT_CGFLOAT_EQ(originMaximumZoomScale, scrollView.maximumZoomScale); |
}; |
WEB_TEST_F(CRWUIWebControllerPageScrollStateTest, |
@@ -974,10 +983,10 @@ WEB_TEST_F(CRWUIWebControllerPageScrollStateTest, |
id webView = [[this->webController_ view] subviews][0]; |
UIScrollView* scrollView = [webView scrollView]; |
base::test::ios::WaitUntilCondition(^bool() { |
- return [scrollView contentOffset].x == 1.0f; |
+ return CGFloatsAreEqual(scrollView.contentOffset.x, 1.0f); |
}); |
- EXPECT_FLOAT_EQ(3, scrollView.zoomScale / scrollView.minimumZoomScale); |
+ ASSERT_CGFLOAT_EQ(3, scrollView.zoomScale / scrollView.minimumZoomScale); |
}; |
WEB_TEST_F(CRWUIWebControllerPageScrollStateTest, |
@@ -1006,7 +1015,7 @@ WEB_TEST_F(CRWUIWebControllerPageScrollStateTest, |
// setPageState: is async; wait for its completion. |
id webView = [[this->webController_ view] subviews][0]; |
base::test::ios::WaitUntilCondition(^bool() { |
- return [[webView scrollView] contentOffset].y == 30.0f; |
+ return CGFloatsAreEqual([webView scrollView].contentOffset.y, 30.0f); |
}); |
ASSERT_FALSE([this->webController_ atTop]); |