diff options
author | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-16 19:50:40 +0000 |
---|---|---|
committer | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-16 19:50:40 +0000 |
commit | d0cfca66f4949e315de0d5ca5cb21e831b6757cf (patch) | |
tree | 879fbcc37696e72d19d2d9c91c6cf69382d8a9b4 /base/task_queue_unittest.cc | |
parent | 0f52f46ccb8cf43f21e63fbb16c0789f7d37ebce (diff) | |
download | chromium_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.cc | 147 |
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()); -} |