Chromium Code Reviews| Index: components/upload_list/upload_list_unittest.cc |
| diff --git a/components/upload_list/upload_list_unittest.cc b/components/upload_list/upload_list_unittest.cc |
| index 59c80cefbd3221067bf45ede7f6f9e2fae23156f..393eb514e250833e7d61d55faa2598c0c712700b 100644 |
| --- a/components/upload_list/upload_list_unittest.cc |
| +++ b/components/upload_list/upload_list_unittest.cc |
| @@ -13,15 +13,100 @@ |
| #include "base/time/time.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| -// Test that UploadList can parse a vector of log entry strings to a vector of |
| -// UploadInfo objects. See the UploadList declaration for a description of the |
| -// log entry string format. |
| -TEST(UploadListTest, ParseLogEntries) { |
| - const char kTestTime[] = "1234567890"; |
| - const char kTestID[] = "0123456789abcdef"; |
| - std::string test_entry = kTestTime; |
| +namespace { |
| + |
| +const char kTestUploadTime[] = "1234567890"; |
| +const char kTestUploadId[] = "0123456789abcdef"; |
| +const char kTestLocalID[] = "fedcba9876543210"; |
| +const char kTestCaptureTime[] = "2345678901"; |
| + |
| +} // namespace |
| + |
| +// These tests test that UploadList can parse a vector of log entry strings of |
| +// various formats to a vector of UploadInfo objects. See the UploadList |
| +// declaration for a description of the log entry string formats. |
| + |
| +// Test log entry strings with upload time and upload ID. |
| +// This is the format that crash reports are stored in. |
| +TEST(UploadListTest, ParseUploadTimeUploadId) { |
| + std::string test_entry = kTestUploadTime; |
| + test_entry += ","; |
| + test_entry.append(kTestUploadId); |
| + |
| + scoped_refptr<UploadList> upload_list = |
| + new UploadList(nullptr, base::FilePath(), nullptr); |
| + |
| + // 1 entry. |
| + std::vector<std::string> log_entries; |
| + log_entries.push_back(test_entry); |
| + upload_list->ParseLogEntries(log_entries); |
| + EXPECT_EQ(1u, upload_list->uploads_.size()); |
| + double time_double = upload_list->uploads_[0].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str()); |
| + EXPECT_STREQ("", upload_list->uploads_[0].local_id.c_str()); |
| + time_double = upload_list->uploads_[0].capture_time.ToDoubleT(); |
| + EXPECT_STREQ("0", base::DoubleToString(time_double).c_str()); |
| + |
| + // Add 3 more entries. |
|
stuartmorgan
2015/10/20 14:23:12
There's a ton of duplication in these tests now. H
Henrik Grunell
2015/10/21 08:33:40
Agree. Done.
|
| + log_entries.push_back(test_entry); |
| + log_entries.push_back(test_entry); |
| + upload_list->ParseLogEntries(log_entries); |
| + EXPECT_EQ(4u, upload_list->uploads_.size()); |
| + time_double = upload_list->uploads_[3].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str()); |
| + EXPECT_STREQ("", upload_list->uploads_[3].local_id.c_str()); |
| + time_double = upload_list->uploads_[3].capture_time.ToDoubleT(); |
| + EXPECT_STREQ("0", base::DoubleToString(time_double).c_str()); |
| +} |
| + |
| +// Test log entry strings with upload time, upload ID and local ID. |
| +// This is the old format that WebRTC logs were stored in. |
| +TEST(UploadListTest, ParseUploadTimeUploadIdLocalId) { |
| + std::string test_entry = kTestUploadTime; |
| + test_entry += ","; |
| + test_entry.append(kTestUploadId); |
| + test_entry += ","; |
| + test_entry.append(kTestLocalID); |
| + |
| + scoped_refptr<UploadList> upload_list = |
| + new UploadList(nullptr, base::FilePath(), nullptr); |
| + |
| + // 1 entry. |
| + std::vector<std::string> log_entries; |
| + log_entries.push_back(test_entry); |
| + upload_list->ParseLogEntries(log_entries); |
| + EXPECT_EQ(1u, upload_list->uploads_.size()); |
| + double time_double = upload_list->uploads_[0].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str()); |
| + EXPECT_STREQ(kTestLocalID, upload_list->uploads_[0].local_id.c_str()); |
| + time_double = upload_list->uploads_[0].capture_time.ToDoubleT(); |
| + EXPECT_STREQ("0", base::DoubleToString(time_double).c_str()); |
| + |
| + // Add 3 more entries. |
| + log_entries.push_back(test_entry); |
| + log_entries.push_back(test_entry); |
| + upload_list->ParseLogEntries(log_entries); |
| + EXPECT_EQ(4u, upload_list->uploads_.size()); |
| + time_double = upload_list->uploads_[3].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str()); |
| + EXPECT_STREQ(kTestLocalID, upload_list->uploads_[3].local_id.c_str()); |
| + time_double = upload_list->uploads_[3].capture_time.ToDoubleT(); |
| + EXPECT_STREQ("0", base::DoubleToString(time_double).c_str()); |
| +} |
| + |
| +// Test log entry strings with upload time, upload ID and capture time. |
| +// This is the format that WebRTC logs that only have been uploaded only are |
| +// stored in. |
| +TEST(UploadListTest, ParseUploadTimeUploadIdCaptureTime) { |
| + std::string test_entry = kTestUploadTime; |
| test_entry += ","; |
| - test_entry.append(kTestID, sizeof(kTestID)); |
| + test_entry.append(kTestUploadId); |
| + test_entry += ",,"; |
| + test_entry.append(kTestCaptureTime); |
| scoped_refptr<UploadList> upload_list = |
| new UploadList(nullptr, base::FilePath(), nullptr); |
| @@ -31,31 +116,75 @@ TEST(UploadListTest, ParseLogEntries) { |
| log_entries.push_back(test_entry); |
| upload_list->ParseLogEntries(log_entries); |
| EXPECT_EQ(1u, upload_list->uploads_.size()); |
| - double time_double = upload_list->uploads_[0].time.ToDoubleT(); |
| - EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); |
| - EXPECT_STREQ(kTestID, upload_list->uploads_[0].id.c_str()); |
| + double time_double = upload_list->uploads_[0].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str()); |
| EXPECT_STREQ("", upload_list->uploads_[0].local_id.c_str()); |
| + time_double = upload_list->uploads_[0].capture_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str()); |
| // Add 3 more entries. |
| log_entries.push_back(test_entry); |
| log_entries.push_back(test_entry); |
| upload_list->ParseLogEntries(log_entries); |
| EXPECT_EQ(4u, upload_list->uploads_.size()); |
| - time_double = upload_list->uploads_[3].time.ToDoubleT(); |
| - EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); |
| - EXPECT_STREQ(kTestID, upload_list->uploads_[3].id.c_str()); |
| + time_double = upload_list->uploads_[3].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str()); |
| EXPECT_STREQ("", upload_list->uploads_[3].local_id.c_str()); |
| + time_double = upload_list->uploads_[3].capture_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str()); |
| } |
| -TEST(UploadListTest, ParseLogEntriesWithLocalId) { |
| - const char kTestTime[] = "1234567890"; |
| - const char kTestID[] = "0123456789abcdef"; |
| - const char kTestLocalID[] = "fedcba9876543210"; |
| - std::string test_entry = kTestTime; |
| +// Test log entry strings with local ID and capture time. |
| +// This is the format that WebRTC logs that only is stored locally are stored |
|
stuartmorgan
2015/10/20 14:23:12
s/is stored/are stored/
Henrik Grunell
2015/10/21 08:33:40
Done.
|
| +// in. |
| +TEST(UploadListTest, ParseLocalIdCaptureTime) { |
| + std::string test_entry = ",,"; |
| + test_entry.append(kTestLocalID); |
| + test_entry += ","; |
| + test_entry.append(kTestCaptureTime); |
| + |
| + scoped_refptr<UploadList> upload_list = |
| + new UploadList(nullptr, base::FilePath(), nullptr); |
| + |
| + // 1 entry. |
| + std::vector<std::string> log_entries; |
| + log_entries.push_back(test_entry); |
| + upload_list->ParseLogEntries(log_entries); |
| + EXPECT_EQ(1u, upload_list->uploads_.size()); |
| + double time_double = upload_list->uploads_[0].upload_time.ToDoubleT(); |
| + EXPECT_STREQ("0", base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ("", upload_list->uploads_[0].upload_id.c_str()); |
| + EXPECT_STREQ(kTestLocalID, upload_list->uploads_[0].local_id.c_str()); |
| + time_double = upload_list->uploads_[0].capture_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str()); |
| + |
| + // Add 3 more entries. |
| + log_entries.push_back(test_entry); |
| + log_entries.push_back(test_entry); |
| + upload_list->ParseLogEntries(log_entries); |
| + EXPECT_EQ(4u, upload_list->uploads_.size()); |
| + time_double = upload_list->uploads_[3].upload_time.ToDoubleT(); |
| + EXPECT_STREQ("0", base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ("", upload_list->uploads_[3].upload_id.c_str()); |
| + EXPECT_STREQ(kTestLocalID, upload_list->uploads_[3].local_id.c_str()); |
| + time_double = upload_list->uploads_[3].capture_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str()); |
| +} |
| + |
| +// Test log entry strings with upload time, upload ID, local ID and capture |
| +// time. |
| +// This is the format that WebRTC logs that is stored locally and have been |
|
stuartmorgan
2015/10/20 14:23:12
s/is stored/are stored/
Henrik Grunell
2015/10/21 08:33:40
Done.
|
| +// uploaded are stored in. |
| +TEST(UploadListTest, ParseUploadTimeUploadIdLocalIdCaptureTime) { |
| + std::string test_entry = kTestUploadTime; |
| + test_entry += ","; |
| + test_entry.append(kTestUploadId); |
| test_entry += ","; |
| - test_entry.append(kTestID, sizeof(kTestID)); |
| + test_entry.append(kTestLocalID); |
| test_entry += ","; |
| - test_entry.append(kTestLocalID, sizeof(kTestLocalID)); |
| + test_entry.append(kTestCaptureTime); |
| scoped_refptr<UploadList> upload_list = |
| new UploadList(nullptr, base::FilePath(), nullptr); |
| @@ -65,18 +194,22 @@ TEST(UploadListTest, ParseLogEntriesWithLocalId) { |
| log_entries.push_back(test_entry); |
| upload_list->ParseLogEntries(log_entries); |
| EXPECT_EQ(1u, upload_list->uploads_.size()); |
| - double time_double = upload_list->uploads_[0].time.ToDoubleT(); |
| - EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); |
| - EXPECT_STREQ(kTestID, upload_list->uploads_[0].id.c_str()); |
| + double time_double = upload_list->uploads_[0].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str()); |
| EXPECT_STREQ(kTestLocalID, upload_list->uploads_[0].local_id.c_str()); |
| + time_double = upload_list->uploads_[0].capture_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str()); |
| // Add 3 more entries. |
| log_entries.push_back(test_entry); |
| log_entries.push_back(test_entry); |
| upload_list->ParseLogEntries(log_entries); |
| EXPECT_EQ(4u, upload_list->uploads_.size()); |
| - time_double = upload_list->uploads_[3].time.ToDoubleT(); |
| - EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); |
| - EXPECT_STREQ(kTestID, upload_list->uploads_[3].id.c_str()); |
| + time_double = upload_list->uploads_[3].upload_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str()); |
| + EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str()); |
| EXPECT_STREQ(kTestLocalID, upload_list->uploads_[3].local_id.c_str()); |
| + time_double = upload_list->uploads_[3].capture_time.ToDoubleT(); |
| + EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str()); |
| } |