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

Side by Side Diff: tools/clang/refactor_message_loop/tests/test-expected.cc

Issue 1010073002: clang: Add a tool for MessageLoop refactoring (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rework header editing support. Created 5 years, 7 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 // Test file for the MessageLoop refactoring clang tool.
6
7 // Test scaffolding
8 // ------------------------------------------------------------
9
10 template <class T>
11 class scoped_refptr {
12 public:
13 T* operator->();
14 T* get();
15 };
16
17 namespace base {
18
19 class SingleThreadTaskRunner {
20 public:
21 void PostTask();
22 void PostDelayedTask();
23 void PostNonNestableTask();
24 void PostNonNestableDelayedTask();
25 };
26
27 class MessageLoopProxy : public SingleThreadTaskRunner {
28 public:
29 static scoped_refptr<MessageLoopProxy> current();
30 };
31
32 class MessageLoop {
33 public:
34 void PostTask();
35 void PostDelayedTask();
36 void PostNonNestableTask();
37 void PostNonNestableDelayedTask();
38
39 scoped_refptr<SingleThreadTaskRunner> task_runner();
40 scoped_refptr<MessageLoopProxy> message_loop_proxy();
41
42 static MessageLoop* current();
43 };
44
45 class Thread {
46 public:
47 scoped_refptr<SingleThreadTaskRunner> task_runner();
48 scoped_refptr<MessageLoopProxy> message_loop_proxy();
49 };
50
51 class ThreadTaskRunnerHandle {
52 public:
53 static scoped_refptr<SingleThreadTaskRunner> Get();
54 };
55
56 } // namespace base
57
58 // Test cases
59 // ------------------------------------------------------------
60
61 void TestPostTask() {
62 base::MessageLoop loop;
63
64 loop.task_runner()->PostTask();
65 (&loop)->task_runner()->PostDelayedTask();
66 loop.task_runner()->PostNonNestableTask();
67 (&loop)->task_runner()->PostNonNestableDelayedTask();
68 }
69
70 void TestMessageLoopProxyGetter() {
71 base::MessageLoop loop;
72
73 loop.task_runner()->PostTask();
74 }
75
76 void TestThreadMessageLoopProxyGetter() {
77 base::Thread thread;
78
79 thread.task_runner()->PostTask();
80 }
81
82 void TestMessageLoopProxyCurrent() {
83 base::ThreadTaskRunnerHandle::Get()->PostTask();
84 }
85
86 void TestMessageLoopProxyPointer() {
87 base::SingleThreadTaskRunner* task_runner;
88 task_runner->PostTask();
89 }
90
91 void TestMessageLoopProxyRefPtr1() {
92 scoped_refptr<base::SingleThreadTaskRunner> task_runner;
93 task_runner->PostTask();
94 }
95
96 void TestMessageLoopProxyRefPtr2() {
97 scoped_refptr<base::SingleThreadTaskRunner> task_runner;
98 task_runner->PostTask();
99 }
100
101 void TestMessageLoopProxyRefPtr3() {
102 scoped_refptr<base::SingleThreadTaskRunner> task_runner;
103 task_runner->PostTask();
104 }
105
106 void Function1(base::SingleThreadTaskRunner* task_runner);
107 void Function2(scoped_refptr<base::SingleThreadTaskRunner> task_runner);
108
109 class TestClass1 {
110 public:
111 TestClass1() : task_runner_() {}
112
113 void Post() { task_runner_->PostTask(); }
114
115 void Method1(base::SingleThreadTaskRunner* task_runner);
116 void Method2(scoped_refptr<base::SingleThreadTaskRunner> task_runner) {}
117
118 void PassAsParam() { Method2(task_runner_); }
119
120 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
121 };
122
123 class TestClass2 {
124 public:
125 TestClass2() : task_runner_() {}
126
127 void Post() { task_runner_->PostTask(); }
128
129 base::SingleThreadTaskRunner* Getter() {
130 return task_runner_;
131 }
132
133 base::SingleThreadTaskRunner* task_runner_;
134 };
135
136 class BaseClass {
137 public:
138 BaseClass(scoped_refptr<base::SingleThreadTaskRunner> task_runner) : task_runn er_(task_runner) {}
139
140 private:
141 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
142 };
143
144 class TestClass3 : public BaseClass {
145 public:
146 TestClass3(scoped_refptr<base::SingleThreadTaskRunner> task_runner) : BaseClas s(task_runner) {}
147 };
148
149 class TestClass4 {
150 public:
151 TestClass4() : task_runner_(base::ThreadTaskRunnerHandle::Get()) {}
152
153 scoped_refptr<base::SingleThreadTaskRunner> Getter() {
154 return task_runner_;
155 }
156
157 void ProxyRef(const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) {
158 task_runner_ = task_runner;
159 }
160
161 private:
162 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
163 };
164
165 namespace base {
166
167 void TestMessageLoopProxyRefPtrInBase() {
168 scoped_refptr<SingleThreadTaskRunner> task_runner;
169 }
170
171 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698