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

Unified Diff: chrome/browser/chrome_to_mobile/receive/chrome_to_mobile_receive_util_unittest.cc

Issue 11038063: Support chrome_to_mobile job receiving Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix format Created 8 years, 1 month 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: chrome/browser/chrome_to_mobile/receive/chrome_to_mobile_receive_util_unittest.cc
diff --git a/chrome/browser/chrome_to_mobile/receive/chrome_to_mobile_receive_util_unittest.cc b/chrome/browser/chrome_to_mobile/receive/chrome_to_mobile_receive_util_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f01ed9ba58c50a428f8062bd5b19622fe112ab43
--- /dev/null
+++ b/chrome/browser/chrome_to_mobile/receive/chrome_to_mobile_receive_util_unittest.cc
@@ -0,0 +1,302 @@
+// Copyright (c) 2012 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 <map>
+#include <string>
+
+#include "base/json/json_reader.h"
+#include "base/logging.h"
+#include "base/memory/scoped_ptr.h"
+#include "chrome/browser/chrome_to_mobile/receive/chrome_to_mobile_receive_util.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using namespace chrome_to_mobile_receive;
+
+namespace {
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseSnapshotURLJobInformationFromCloudPrintFetchJobList) {
+ base::ListValue job_list;
+ base::DictionaryValue* job1 = new base::DictionaryValue();
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ job1->SetString(std::string("createTime"), std::string("1111"));
+ base::ListValue* tag1 = new base::ListValue();
+ tag1->AppendString("__snapshot_id=snapshot id 1");
+ tag1->AppendString("__snapshot_type=url_with_delayed_snapshot");
+ tag1->AppendString("__apns__original_url=apns.original.url");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string snapshot_id;
+ std::string snapshot_type;
+ std::string original_url;
+ std::string title;
+ std::string offline_data_download_url;
+ std::string job_creating_time;
+ EXPECT_TRUE(ParseSnapshotURLJobInformationFromCloudPrintFetchJobList(
+ &job_list, 0, &job_id, &snapshot_id, &snapshot_type, &original_url, &title,
+ &job_creating_time));
+
+ EXPECT_STREQ("jobid1", job_id.c_str());
+ EXPECT_STREQ("snapshot id 1", snapshot_id.c_str());
+ EXPECT_STREQ("url_with_delayed_snapshot", snapshot_type.c_str());
+ EXPECT_STREQ("apns.original.url", original_url.c_str());
+ EXPECT_STREQ("title 1", title.c_str());
+ EXPECT_STREQ("1111", job_creating_time.c_str());
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseSnapshotURLJobInformationFromCloudPrintFetchJobListMultiple) {
+ base::ListValue job_list;
+
+ base::DictionaryValue* job0 = new base::DictionaryValue();
+ job0->SetString(std::string("id"), std::string("jobid0"));
+ job0->SetString(std::string("fileUrl"), std::string("www.file.url.0"));
+ job0->SetString(std::string("title"), std::string("title 0"));
+ job0->SetString(std::string("status"), std::string("QUEUED"));
+ job0->SetString(std::string("createTime"), std::string("1111"));
+ base::ListValue* tag0 = new base::ListValue();
+ tag0->AppendString("__snapshot_id=snapshot id 1");
+ tag0->AppendString("__snapshot_type=url_with_delayed_snapshot");
+ tag0->AppendString("__apns__original_url=apns.original.url.0");
+ job0->Set(std::string("tags"), tag0);
+ job_list.Append(job0);
+
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ job1->SetString(std::string("createTime"), std::string("1111"));
+ base::ListValue* tag1 = new base::ListValue();
+ tag1->AppendString("__snapshot_id=snapshot id 1");
+ tag1->AppendString("__snapshot_type=url_with_delayed_snapshot");
+ tag1->AppendString("__apns__original_url=apns.original.url");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string snapshot_id;
+ std::string snapshot_type;
+ std::string original_url;
+ std::string title;
+ std::string offline_data_download_url;
+ std::string job_creating_time;
+ EXPECT_TRUE(ParseSnapshotURLJobInformationFromCloudPrintFetchJobList(
+ &job_list, 1, &job_id, &snapshot_id, &snapshot_type, &original_url, &title,
+ &job_creating_time));
+
+ EXPECT_STREQ("jobid1", job_id.c_str());
+ EXPECT_STREQ("snapshot id 1", snapshot_id.c_str());
+ EXPECT_STREQ("url_with_delayed_snapshot", snapshot_type.c_str());
+ EXPECT_STREQ("apns.original.url", original_url.c_str());
+ EXPECT_STREQ("title 1", title.c_str());
+ EXPECT_STREQ("1111", job_creating_time.c_str());
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseSnapshotURLJobInformationFromCloudPrintFetchJobListOutOfRange) {
+ base::ListValue job_list;
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ job1->SetString(std::string("createTime"), std::string("111"));
+ base::ListValue* tag1 = new base::ListValue();
+ tag1->AppendString("__snapshot_id=snapshot id 1");
+ tag1->AppendString("__snapshot_type=url_with_delayed_snapshot");
+ tag1->AppendString("__apns__original_url=apns.original.url");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string snapshot_id;
+ std::string snapshot_type;
+ std::string original_url;
+ std::string title;
+ std::string offline_data_download_url;
+ std::string job_creating_time;
+ EXPECT_FALSE(ParseSnapshotURLJobInformationFromCloudPrintFetchJobList(
+ &job_list, 10, &job_id, &snapshot_id, &snapshot_type, &original_url, &title,
+ &job_creating_time));
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseSnapshotOfflineDataJobInformationFromCloudPrintFetchJobList) {
+ base::ListValue job_list;
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ base::ListValue* tag1 = new base::ListValue();
+ tag1->AppendString("__snapshot_id=snapshot id 1");
+ tag1->AppendString("__snapshot_type=snapshot");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string snapshot_id;
+ std::string offline_data_download_url;
+ EXPECT_TRUE(ParseSnapshotOfflineDataJobInformationFromCloudPrintFetchJobList(
+ &job_list, 0, &job_id, &snapshot_id, &offline_data_download_url));
+
+ EXPECT_STREQ("jobid1", job_id.c_str());
+ EXPECT_STREQ("snapshot id 1", snapshot_id.c_str());
+ EXPECT_STREQ("www.file.url.1", offline_data_download_url.c_str());
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseSnapshotOfflineDataJobInformationFromCloudPrintFetchJobListNone) {
+ base::ListValue job_list;
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ base::ListValue* tag1 = new base::ListValue();
+ tag1->AppendString("__snapshot_id=snapshot id 1");
+ tag1->AppendString("__snapshot_type=url only");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string snapshot_id;
+ std::string offline_data_download_url;
+ EXPECT_FALSE(ParseSnapshotOfflineDataJobInformationFromCloudPrintFetchJobList(
+ &job_list, 0, &job_id, &snapshot_id, &offline_data_download_url));
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseQueuedPrintToPhoneJobFromFetchJobList) {
+ base::ListValue job_list;
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ base::DictionaryValue* tag1 = new base::DictionaryValue();
+ tag1->SetString("snapshot_id", "snapshot_id1");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string title;
+ std::string data_download_url;
+ EXPECT_TRUE(ParseQueuedPrintToPhoneJobFromFetchJobList(
+ &job_list,
+ 0,
+ &job_id,
+ &title,
+ &data_download_url));
+
+ EXPECT_STREQ("jobid1", job_id.c_str());
+ EXPECT_STREQ("title 1", title.c_str());
+ EXPECT_STREQ("www.file.url.1", data_download_url.c_str());
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseQueuedPrintToPhoneJobFromFetchJobListOutOfRand) {
+ base::ListValue job_list;
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ base::DictionaryValue* tag1 = new base::DictionaryValue();
+ tag1->SetString("snapshot_id", "snapshot_id1");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string title;
+ std::string data_download_url;
+ EXPECT_FALSE(ParseQueuedPrintToPhoneJobFromFetchJobList(
+ &job_list,
+ 3,
+ &job_id,
+ &title,
+ &data_download_url));
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseQueuedPrintToPhoneJobFromFetchJobListMultiple) {
+ base::ListValue job_list;
+
+ base::DictionaryValue* job0 = new base::DictionaryValue();
+ job0->SetString(std::string("id"), std::string("jobid0"));
+ job0->SetString(std::string("fileUrl"), std::string("www.file.url.0"));
+ job0->SetString(std::string("title"), std::string("title 0"));
+ job0->SetString(std::string("status"), std::string("QUEUED"));
+ base::DictionaryValue* tag0 = new base::DictionaryValue();
+ tag0->SetString("snapshot_id", "snapshot_id1");
+ job0->Set(std::string("tags"), tag0);
+ job_list.Append(job0);
+
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("QUEUED"));
+ base::DictionaryValue* tag1 = new base::DictionaryValue();
+ tag1->SetString("snapshot_id", "snapshot_id1");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string title;
+ std::string data_download_url;
+ EXPECT_TRUE(ParseQueuedPrintToPhoneJobFromFetchJobList(
+ &job_list,
+ 1,
+ &job_id,
+ &title,
+ &data_download_url));
+
+ EXPECT_STREQ("jobid1", job_id.c_str());
+ EXPECT_STREQ("title 1", title.c_str());
+ EXPECT_STREQ("www.file.url.1", data_download_url.c_str());
+}
+
+TEST(ChromeToMobileReceiveUtilTest,
+ ParseQueuedPrintToPhoneJobFromFetchJobListNotQueued) {
+ base::ListValue job_list;
+
+ base::DictionaryValue* job0 = new base::DictionaryValue();
+ job0->SetString(std::string("id"), std::string("jobid0"));
+ job0->SetString(std::string("fileUrl"), std::string("www.file.url.0"));
+ job0->SetString(std::string("title"), std::string("title 0"));
+ job0->SetString(std::string("status"), std::string("QUEUED"));
+ base::DictionaryValue* tag0 = new base::DictionaryValue();
+ tag0->SetString("snapshot_id", "snapshot_id1");
+ job0->Set(std::string("tags"), tag0);
+ job_list.Append(job0);
+
+ base::DictionaryValue* job1 = new base::DictionaryValue();;
+ job1->SetString(std::string("id"), std::string("jobid1"));
+ job1->SetString(std::string("fileUrl"), std::string("www.file.url.1"));
+ job1->SetString(std::string("title"), std::string("title 1"));
+ job1->SetString(std::string("status"), std::string("DONE"));
+ base::DictionaryValue* tag1 = new base::DictionaryValue();
+ tag1->SetString("snapshot_id", "snapshot_id1");
+ job1->Set(std::string("tags"), tag1);
+ job_list.Append(job1);
+
+ std::string job_id;
+ std::string title;
+ std::string data_download_url;
+ EXPECT_FALSE(ParseQueuedPrintToPhoneJobFromFetchJobList(
+ &job_list,
+ 1,
+ &job_id,
+ &title,
+ &data_download_url));
+}
+
+} // namespace

Powered by Google App Engine
This is Rietveld 408576698