Chromium Code Reviews| Index: content/browser/service_worker/embedded_worker_instance_unittest.cc |
| diff --git a/content/browser/service_worker/embedded_worker_instance_unittest.cc b/content/browser/service_worker/embedded_worker_instance_unittest.cc |
| index 244b5f9344c77741486b7a449a67d0219a739d88..d14ccd22f253bad483961b2b4d0ca2f998c78c73 100644 |
| --- a/content/browser/service_worker/embedded_worker_instance_unittest.cc |
| +++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc |
| @@ -12,6 +12,7 @@ |
| #include "content/browser/service_worker/service_worker_context_wrapper.h" |
| #include "content/common/service_worker/embedded_worker_messages.h" |
| #include "content/public/test/test_browser_thread_bundle.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| namespace content { |
| @@ -129,7 +130,7 @@ TEST_F(EmbeddedWorkerInstanceTest, InstanceDestroyedBeforeStartFinishes) { |
| ipc_sink()->GetUniqueMessageMatching(EmbeddedWorkerMsg_StartWorker::ID)); |
| } |
| -TEST_F(EmbeddedWorkerInstanceTest, ChooseProcess) { |
| +TEST_F(EmbeddedWorkerInstanceTest, SortProcesses) { |
| scoped_ptr<EmbeddedWorkerInstance> worker = |
| embedded_worker_registry()->CreateWorker(); |
| EXPECT_EQ(EmbeddedWorkerInstance::STOPPED, worker->status()); |
| @@ -145,22 +146,22 @@ TEST_F(EmbeddedWorkerInstanceTest, ChooseProcess) { |
| helper_->SimulateAddProcessToWorker(embedded_worker_id, 3); |
| // Process 3 has the biggest # of references and it should be chosen. |
| - ServiceWorkerStatusCode status; |
| - base::RunLoop run_loop; |
| - worker->Start( |
| - 1L, |
| - GURL("http://example.com/*"), |
| - GURL("http://example.com/worker.js"), |
| - std::vector<int>(), |
| - base::Bind(&SaveStatusAndCall, &status, run_loop.QuitClosure())); |
| - run_loop.Run(); |
| - EXPECT_EQ(SERVICE_WORKER_OK, status) << ServiceWorkerStatusToString(status); |
| - EXPECT_EQ(EmbeddedWorkerInstance::STARTING, worker->status()); |
| - EXPECT_EQ(3, worker->process_id()); |
| - |
| - // Wait until started message is sent back. |
| - base::RunLoop().RunUntilIdle(); |
| - EXPECT_EQ(EmbeddedWorkerInstance::RUNNING, worker->status()); |
| + EXPECT_THAT(worker->SortProcesses(std::vector<int>()), |
| + testing::ElementsAre(3, 2, 1)); |
|
kinuko
2014/05/23 02:53:23
Neat, didn't know this notation.
|
| + EXPECT_EQ(-1, worker->process_id()); |
| + |
| + // Argument processes are added to the existing set, but only for a single |
| + // call. |
| + std::vector<int> registering_processes; |
| + registering_processes.push_back(1); |
| + registering_processes.push_back(1); |
| + registering_processes.push_back(1); |
| + registering_processes.push_back(4); |
| + EXPECT_THAT(worker->SortProcesses(registering_processes), |
| + testing::ElementsAre(1, 3, 2, 4)); |
| + |
| + EXPECT_THAT(worker->SortProcesses(std::vector<int>()), |
| + testing::ElementsAre(3, 2, 1)); |
| } |
| } // namespace content |