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

Side by Side Diff: base/threading/task_runner_handle_unittest.cc

Issue 2042383004: Introduce TaskRunnerHandle. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update comments Created 4 years, 6 months 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/threading/task_runner_handle.h"
6
7 #include "base/memory/ref_counted.h"
8 #include "base/sequenced_task_runner.h"
9 #include "base/single_thread_task_runner.h"
10 #include "base/task_runner.h"
11 #include "base/test/test_simple_task_runner.h"
12 #include "base/threading/sequenced_task_runner_handle.h"
13 #include "base/threading/thread_task_runner_handle.h"
14 #include "testing/gtest/include/gtest/gtest.h"
15
16 namespace base {
17
18 TEST(TaskRunnerHandleTest, TaskScope) {
19 scoped_refptr<TaskRunner> test_task_runner(new TestSimpleTaskRunner);
20 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
21 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
22 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
23 {
24 TaskRunnerHandle::TaskScope task_scope(test_task_runner);
25
26 EXPECT_TRUE(TaskRunnerHandle::HasTaskScope());
27 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
28 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
29
30 EXPECT_EQ(test_task_runner, TaskRunnerHandle::Get());
31 }
32 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
33 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
34 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
35 }
36
37 TEST(TaskRunnerHandleTest, SequencedTaskScope) {
38 scoped_refptr<SequencedTaskRunner> test_task_runner(new TestSimpleTaskRunner);
39 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
40 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
41 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
42 {
43 TaskRunnerHandle::SequencedTaskScope task_scope(test_task_runner);
44
45 EXPECT_TRUE(TaskRunnerHandle::HasTaskScope());
46 EXPECT_TRUE(TaskRunnerHandle::HasSequencedTaskScope());
47 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
48
49 EXPECT_EQ(test_task_runner, TaskRunnerHandle::Get());
50 EXPECT_EQ(test_task_runner, TaskRunnerHandle::GetSequenced());
51 }
52 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
53 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
54 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
55 }
56
57 TEST(TaskRunnerHandleTest, SingleThreadTaskScope) {
58 scoped_refptr<SingleThreadTaskRunner> test_task_runner(
59 new TestSimpleTaskRunner);
60 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
61 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
62 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
63 {
64 TaskRunnerHandle::SingleThreadTaskScope task_scope(test_task_runner);
65
66 EXPECT_TRUE(TaskRunnerHandle::HasTaskScope());
67 EXPECT_TRUE(TaskRunnerHandle::HasSequencedTaskScope());
68 EXPECT_TRUE(TaskRunnerHandle::HasSingleThreadTaskScope());
69
70 EXPECT_EQ(test_task_runner, TaskRunnerHandle::Get());
71 EXPECT_EQ(test_task_runner, TaskRunnerHandle::GetSequenced());
72 EXPECT_EQ(test_task_runner, TaskRunnerHandle::GetSingleThreaded());
73 }
74 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
75 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
76 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
77 }
78
79 TEST(TaskRunnerHandleTest, SequencedTaskRunnerHandleSupport) {
80 scoped_refptr<SequencedTaskRunner> test_task_runner(new TestSimpleTaskRunner);
81 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
82 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
83 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
84 {
85 SequencedTaskRunnerHandle handle(test_task_runner);
86
87 EXPECT_TRUE(TaskRunnerHandle::HasTaskScope());
88 EXPECT_TRUE(TaskRunnerHandle::HasSequencedTaskScope());
89 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
90
91 EXPECT_EQ(test_task_runner, TaskRunnerHandle::Get());
92 EXPECT_EQ(test_task_runner, TaskRunnerHandle::GetSequenced());
93 }
94 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
95 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
96 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
97 }
98
99 TEST(TaskRunnerHandleTest, ThreadTaskRunnerHandleSupport) {
100 scoped_refptr<SingleThreadTaskRunner> test_task_runner(
101 new TestSimpleTaskRunner);
102 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
103 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
104 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
105 {
106 ThreadTaskRunnerHandle handle(test_task_runner);
107
108 EXPECT_TRUE(TaskRunnerHandle::HasTaskScope());
109 EXPECT_TRUE(TaskRunnerHandle::HasSequencedTaskScope());
110 EXPECT_TRUE(TaskRunnerHandle::HasSingleThreadTaskScope());
111
112 EXPECT_EQ(test_task_runner, TaskRunnerHandle::Get());
113 EXPECT_EQ(test_task_runner, TaskRunnerHandle::GetSequenced());
114 EXPECT_EQ(test_task_runner, TaskRunnerHandle::GetSingleThreaded());
115 }
116 EXPECT_FALSE(TaskRunnerHandle::HasTaskScope());
117 EXPECT_FALSE(TaskRunnerHandle::HasSequencedTaskScope());
118 EXPECT_FALSE(TaskRunnerHandle::HasSingleThreadTaskScope());
119 }
120
121 } // namespace base
OLDNEW
« no previous file with comments | « base/threading/task_runner_handle_internal.h ('k') | base/threading/thread_task_runner_handle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698