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

Unified Diff: shell/application_manager/application_manager_unittest.cc

Issue 1467263002: Fix URL duplication when SetArgsForURL is called mutliple times. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 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
« no previous file with comments | « shell/application_manager/application_manager.cc ('k') | shell/command_line_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: shell/application_manager/application_manager_unittest.cc
diff --git a/shell/application_manager/application_manager_unittest.cc b/shell/application_manager/application_manager_unittest.cc
index 341aea10703ab84f3e14f0d7dac7ce0e8ac20f22..008b25086d0a7633bef99391dd9bec9038550205 100644
--- a/shell/application_manager/application_manager_unittest.cc
+++ b/shell/application_manager/application_manager_unittest.cc
@@ -522,9 +522,9 @@ TEST_F(ApplicationManagerTest, Args) {
test_client.Test("test");
loop_.Run();
std::vector<std::string> app_args = loader->GetArgs();
- ASSERT_EQ(args.size(), app_args.size());
- EXPECT_EQ(args[0], app_args[0]);
- EXPECT_EQ(args[1], app_args[1]);
+ ASSERT_EQ(args.size() + 1, app_args.size());
+ EXPECT_EQ(args[0], app_args[1]);
+ EXPECT_EQ(args[1], app_args[2]);
}
// Confirm that arguments are sent to an application in the presence of query
@@ -545,8 +545,33 @@ TEST_F(ApplicationManagerTest, ArgsWithQuery) {
test_client.Test("test");
loop_.Run();
std::vector<std::string> app_args = loader->GetArgs();
- ASSERT_EQ(args.size(), app_args.size());
- EXPECT_EQ(args[0], app_args[0]);
+ ASSERT_EQ(args.size() + 1, app_args.size());
+ EXPECT_EQ(args[0], app_args[1]);
+}
+
+// Confirm that the URL is not duplicated when arguments are added in multiple
+// phase.
ppi 2015/11/23 15:02:44 phases
qsr 2015/11/23 17:18:00 Done.
+TEST_F(ApplicationManagerTest, ArgsMultipleCalls) {
+ ApplicationManager am(ApplicationManager::Options(), &test_delegate_);
+ GURL test_url("test:test");
+ std::vector<std::string> args1;
+ args1.push_back("test_arg1");
+ am.SetArgsForURL(args1, test_url);
+ std::vector<std::string> args2;
+ args2.push_back("test_arg2");
+ am.SetArgsForURL(args2, test_url);
+ TestApplicationLoader* loader = new TestApplicationLoader;
+ loader->set_context(&context_);
+ am.SetLoaderForURL(scoped_ptr<ApplicationLoader>(loader), test_url);
+ TestServicePtr test_service;
+ am.ConnectToService(test_url, &test_service);
+ TestClient test_client(test_service.Pass());
+ test_client.Test("test");
+ loop_.Run();
+ std::vector<std::string> app_args = loader->GetArgs();
+ ASSERT_EQ(args1.size() + args2.size() + 1, app_args.size());
+ EXPECT_EQ(args1[0], app_args[1]);
+ EXPECT_EQ(args2[0], app_args[2]);
}
// Confirm that arguments are aggregated through mappings.
@@ -574,11 +599,11 @@ TEST_F(ApplicationManagerTest, ArgsAndMapping) {
test_client.Test("test");
loop_.Run();
std::vector<std::string> app_args = loader->GetArgs();
- ASSERT_EQ(args.size() + args2.size(), app_args.size());
- EXPECT_EQ(args[0], app_args[0]);
- EXPECT_EQ(args[1], app_args[1]);
- EXPECT_EQ(args2[0], app_args[2]);
- EXPECT_EQ(args2[1], app_args[3]);
+ ASSERT_EQ(args.size() + args2.size() + 1, app_args.size());
+ EXPECT_EQ(args[0], app_args[1]);
+ EXPECT_EQ(args[1], app_args[2]);
+ EXPECT_EQ(args2[0], app_args[3]);
+ EXPECT_EQ(args2[1], app_args[4]);
}
{
// Connext to the target url
@@ -588,11 +613,11 @@ TEST_F(ApplicationManagerTest, ArgsAndMapping) {
test_client.Test("test");
loop_.Run();
std::vector<std::string> app_args = loader->GetArgs();
- ASSERT_EQ(args.size() + args2.size(), app_args.size());
- EXPECT_EQ(args[0], app_args[0]);
- EXPECT_EQ(args[1], app_args[1]);
- EXPECT_EQ(args2[0], app_args[2]);
- EXPECT_EQ(args2[1], app_args[3]);
+ ASSERT_EQ(args.size() + args2.size() + 1, app_args.size());
+ EXPECT_EQ(args[0], app_args[1]);
+ EXPECT_EQ(args[1], app_args[2]);
+ EXPECT_EQ(args2[0], app_args[3]);
+ EXPECT_EQ(args2[1], app_args[4]);
}
}
« no previous file with comments | « shell/application_manager/application_manager.cc ('k') | shell/command_line_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698