Index: media/ffmpeg/ffmpeg_common_unittest.cc |
diff --git a/media/ffmpeg/ffmpeg_common_unittest.cc b/media/ffmpeg/ffmpeg_common_unittest.cc |
index 2fa61ace4866c33c62f070b9ebc736df148ffbcd..31397df7facea454e9496645d2936ddeea3615e2 100644 |
--- a/media/ffmpeg/ffmpeg_common_unittest.cc |
+++ b/media/ffmpeg/ffmpeg_common_unittest.cc |
@@ -97,4 +97,58 @@ TEST_F(FFmpegCommonTest, VerifyFormatSizes) { |
} |
} |
+TEST_F(FFmpegCommonTest, UTCDateToTime_Valid) { |
+ base::Time result; |
+ EXPECT_TRUE(FFmpegUTCDateToTime("2012-11-10 12:34:56", &result)); |
+ |
+ base::Time::Exploded exploded; |
+ result.UTCExplode(&exploded); |
+ EXPECT_TRUE(exploded.HasValidValues()); |
+ EXPECT_EQ(2012, exploded.year); |
+ EXPECT_EQ(11, exploded.month); |
+ EXPECT_EQ(6, exploded.day_of_week); |
+ EXPECT_EQ(10, exploded.day_of_month); |
+ EXPECT_EQ(12, exploded.hour); |
+ EXPECT_EQ(34, exploded.minute); |
+ EXPECT_EQ(56, exploded.second); |
+ EXPECT_EQ(0, exploded.millisecond); |
+} |
+ |
+TEST_F(FFmpegCommonTest, UTCDateToTime_Invalid) { |
+ const char* invalid_date_strings[] = { |
+ "", |
+ "2012-11-10", |
+ "12:34:56", |
+ "-- ::", |
+ "2012-11-10 12:34:", |
+ "2012-11-10 12::56", |
+ "2012-11-10 :34:56", |
+ "2012-11- 12:34:56", |
+ "2012--10 12:34:56", |
+ "-11-10 12:34:56", |
+ "2012-11 12:34:56", |
+ "2012-11-10-12 12:34:56", |
+ "2012-11-10 12:34", |
+ "2012-11-10 12:34:56:78", |
+ "ABCD-11-10 12:34:56", |
+ "2012-EF-10 12:34:56", |
+ "2012-11-GH 12:34:56", |
+ "2012-11-10 IJ:34:56", |
+ "2012-11-10 12:JL:56", |
+ "2012-11-10 12:34:MN", |
+ "2012-11-10 12:34:56.123", |
+ "2012-11-1012:34:56", |
+ "2012-11-10 12:34:56 UTC", |
+ }; |
+ |
+ for (size_t i = 0; i < arraysize(invalid_date_strings); ++i) { |
+ const char* date_string = invalid_date_strings[i]; |
+ base::Time result; |
+ EXPECT_FALSE(FFmpegUTCDateToTime(date_string, &result)) |
+ << "date_string '" << date_string << "'"; |
+ EXPECT_TRUE(result.is_null()); |
+ } |
+} |
+ |
+ |
} // namespace media |