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

Unified Diff: webkit/plugins/ppapi/time_conversion_unittest.cc

Issue 7237044: Make PP_TimeTicks actually be a tick counter rather than be the same as the (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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
Index: webkit/plugins/ppapi/time_conversion_unittest.cc
===================================================================
--- webkit/plugins/ppapi/time_conversion_unittest.cc (revision 0)
+++ webkit/plugins/ppapi/time_conversion_unittest.cc (revision 0)
@@ -0,0 +1,52 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <math.h>
+#include <stdlib.h>
+
+#include "testing/gtest/include/gtest/gtest.h"
+#include "webkit/plugins/ppapi/time_conversion.h"
+
+namespace webkit {
+namespace ppapi {
+
+// Slop we'll allow in two Time "internal values" to consider them equal.
+// Double conversion can introduce rounding errors. The internal values are in
+// microseconds, so an error here is very small.
+static const int kTimeInternalValueSlop = 2;
+
+// Same as above in double-precision seconds units.
+static const double kTimeSecondsSlop =
+ static_cast<double>(kTimeInternalValueSlop) /
+ base::Time::kMicrosecondsPerSecond;
+
+TEST(TimeConversion, Time) {
+ // Should be able to round-trip.
+ base::Time now = base::Time::Now();
+ base::Time converted = PPTimeToTime(TimeToPPTime(now));
+ EXPECT_GE(kTimeInternalValueSlop,
+ abs(static_cast<int>((converted - now).ToInternalValue())));
+
+ // Units should be in seconds.
+ base::Time one_second_from_now = now + base::TimeDelta::FromSeconds(1);
+ EXPECT_EQ(1.0, TimeToPPTime(one_second_from_now) - TimeToPPTime(now));
+}
+
+TEST(TimeConversion, EventTime) {
+ // Should be able to round-trip.
+ base::Time now = base::Time::Now();
+ double event_now = now.ToDoubleT();
+ double converted = EventTimeToPPTimeTicks(PPTimeTicksToEventTime(event_now));
+ EXPECT_GE(kTimeSecondsSlop, fabs(converted - event_now));
+
+ // Units should be in seconds.
+ base::Time one_second_from_now = now + base::TimeDelta::FromSeconds(1);
+ double event_one_second_from_now = one_second_from_now.ToDoubleT();
+ EXPECT_GE(kTimeSecondsSlop,
+ 1.0 - EventTimeToPPTimeTicks(event_one_second_from_now) -
+ EventTimeToPPTimeTicks(event_now));
+}
+
+} // namespace ppapi
+} // namespace webkit
Property changes on: webkit/plugins/ppapi/time_conversion_unittest.cc
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698