summaryrefslogtreecommitdiffstats
path: root/base/task_queue_unittest.cc
diff options
context:
space:
mode:
authordcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-16 19:50:40 +0000
committerdcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-16 19:50:40 +0000
commitd0cfca66f4949e315de0d5ca5cb21e831b6757cf (patch)
tree879fbcc37696e72d19d2d9c91c6cf69382d8a9b4 /base/task_queue_unittest.cc
parent0f52f46ccb8cf43f21e63fbb16c0789f7d37ebce (diff)
downloadchromium_src-d0cfca66f4949e315de0d5ca5cb21e831b6757cf.zip
chromium_src-d0cfca66f4949e315de0d5ca5cb21e831b6757cf.tar.gz
chromium_src-d0cfca66f4949e315de0d5ca5cb21e831b6757cf.tar.bz2
base::Bind() conversion for chrome/browser/search_engines
BUG=none TEST=compiles and passes tests Review URL: http://codereview.chromium.org/8570022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110342 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/task_queue_unittest.cc')
-rw-r--r--base/task_queue_unittest.cc147
1 files changed, 0 insertions, 147 deletions
diff --git a/base/task_queue_unittest.cc b/base/task_queue_unittest.cc
deleted file mode 100644
index f2d2f49..0000000
--- a/base/task_queue_unittest.cc
+++ /dev/null
@@ -1,147 +0,0 @@
-// Copyright (c) 2011 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 "base/basictypes.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/task.h"
-#include "base/task_queue.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-// Sets bools according to whether Run or the destructor were called.
-class TrackCallsTask : public Task {
- public:
- TrackCallsTask(bool* ran, bool* deleted)
- : ran_(ran),
- deleted_(deleted) {
- *ran_ = false;
- *deleted_ = false;
- }
-
- virtual ~TrackCallsTask() {
- *deleted_ = true;
- }
-
- virtual void Run() {
- *ran_ = true;
- }
-
- private:
- bool* ran_;
- bool* deleted_;
-
- DISALLOW_COPY_AND_ASSIGN(TrackCallsTask);
-};
-
-// Adds a given task to the queue when run.
-class TaskQueuerTask : public Task {
- public:
- TaskQueuerTask(TaskQueue* queue, Task* task_to_queue)
- : queue_(queue),
- task_to_queue_(task_to_queue) {
- }
-
- virtual void Run() {
- queue_->Push(task_to_queue_);
- }
-
- private:
- TaskQueue* queue_;
- Task* task_to_queue_;
-
- DISALLOW_COPY_AND_ASSIGN(TaskQueuerTask);
-};
-
-} // namespace
-
-TEST(TaskQueueTest, RunNoTasks) {
- TaskQueue queue;
- EXPECT_TRUE(queue.IsEmpty());
-
- queue.Run();
- EXPECT_TRUE(queue.IsEmpty());
-}
-
-TEST(TaskQueueTest, RunTasks) {
- TaskQueue queue;
-
- bool ran_task1 = false;
- bool deleted_task1 = false;
- queue.Push(new TrackCallsTask(&ran_task1, &deleted_task1));
-
- bool ran_task2 = false;
- bool deleted_task2 = false;
- queue.Push(new TrackCallsTask(&ran_task2, &deleted_task2));
-
- queue.Run();
-
- EXPECT_TRUE(ran_task1);
- EXPECT_TRUE(deleted_task1);
- EXPECT_TRUE(ran_task2);
- EXPECT_TRUE(deleted_task2);
- EXPECT_TRUE(queue.IsEmpty());
-}
-
-TEST(TaskQueueTest, ClearTasks) {
- TaskQueue queue;
-
- bool ran_task1 = false;
- bool deleted_task1 = false;
- queue.Push(new TrackCallsTask(&ran_task1, &deleted_task1));
-
- bool ran_task2 = false;
- bool deleted_task2 = false;
- queue.Push(new TrackCallsTask(&ran_task2, &deleted_task2));
-
- queue.Clear();
-
- EXPECT_TRUE(queue.IsEmpty());
-
- queue.Run();
-
- EXPECT_FALSE(ran_task1);
- EXPECT_TRUE(deleted_task1);
- EXPECT_FALSE(ran_task2);
- EXPECT_TRUE(deleted_task2);
- EXPECT_TRUE(queue.IsEmpty());
-}
-
-TEST(TaskQueueTest, OneTaskQueuesMore) {
- TaskQueue main_queue;
-
- // Build a task which will queue two more when run.
- scoped_ptr<TaskQueue> nested_queue(new TaskQueue());
- bool ran_task1 = false;
- bool deleted_task1 = false;
- nested_queue->Push(
- new TaskQueuerTask(&main_queue,
- new TrackCallsTask(&ran_task1, &deleted_task1)));
- bool ran_task2 = false;
- bool deleted_task2 = false;
- nested_queue->Push(
- new TaskQueuerTask(&main_queue,
- new TrackCallsTask(&ran_task2, &deleted_task2)));
-
- main_queue.Push(nested_queue.release());
-
- // Run the task which pushes two more tasks.
- main_queue.Run();
-
- // None of the pushed tasks shoudl have run yet.
- EXPECT_FALSE(ran_task1);
- EXPECT_FALSE(deleted_task1);
- EXPECT_FALSE(ran_task2);
- EXPECT_FALSE(deleted_task2);
- EXPECT_FALSE(main_queue.IsEmpty());
-
- // Now run the nested tasks.
- main_queue.Run();
-
- EXPECT_TRUE(ran_task1);
- EXPECT_TRUE(deleted_task1);
- EXPECT_TRUE(ran_task2);
- EXPECT_TRUE(deleted_task2);
- EXPECT_TRUE(main_queue.IsEmpty());
-}