Index: ppapi/shared_impl/time_conversion_unittest.cc |
diff --git a/webkit/plugins/ppapi/time_conversion_unittest.cc b/ppapi/shared_impl/time_conversion_unittest.cc |
similarity index 69% |
rename from webkit/plugins/ppapi/time_conversion_unittest.cc |
rename to ppapi/shared_impl/time_conversion_unittest.cc |
index 84ad697f63db56d80f6f0e6b37354f505bdf3111..1ec70bf3e4a406ae6269f36faa6ee1fd7d866b9c 100644 |
--- a/webkit/plugins/ppapi/time_conversion_unittest.cc |
+++ b/ppapi/shared_impl/time_conversion_unittest.cc |
@@ -50,4 +50,24 @@ TEST(TimeConversion, EventTime) { |
ppapi::EventTimeToPPTimeTicks(event_now)); |
} |
+TEST(TimeConversion, EpochTime) { |
+ // Should be able to round-trip from epoch time. |
+ base::Time epoch = base::Time::UnixEpoch(); |
+ base::Time converted = ppapi::PPTimeToTime(TimeToPPTime(epoch)); |
+ EXPECT_GE(kTimeInternalValueSlop, |
+ abs(static_cast<int>((converted - epoch).ToInternalValue()))); |
+ |
+ // Units should be in seconds. |
+ base::Time one_second_from_epoch = epoch + base::TimeDelta::FromSeconds(1); |
+ double converted_one_second_from_epoch = |
+ ppapi::TimeToPPTime(one_second_from_epoch) - ppapi::TimeToPPTime(epoch); |
+ EXPECT_GE(kTimeSecondsSlop, fabs(converted_one_second_from_epoch - 1)); |
+ |
+ // Epoch time should be equal to a PP_Time of 0.0. |
+ EXPECT_GE(kTimeSecondsSlop, fabs(ppapi::TimeToPPTime(epoch) - 0.0)); |
+ EXPECT_GE(kTimeInternalValueSlop, |
+ abs(static_cast<int>( |
+ (ppapi::PPTimeToTime(0.0) - epoch).ToInternalValue()))); |
+} |
+ |
} // namespace ppapi |