Merge lp:~azzar1/unity/lp-1238063 into lp:unity
- lp-1238063
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Stephen M. Webb | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 3904 | ||||
Proposed branch: | lp:~azzar1/unity/lp-1238063 | ||||
Merge into: | lp:unity | ||||
Diff against target: |
977 lines (+197/-192) 13 files modified
launcher/EdgeBarrierController.cpp (+11/-6) launcher/EdgeBarrierController.h (+1/-1) launcher/EdgeBarrierControllerPrivate.h (+3/-3) launcher/Launcher.cpp (+1/-1) launcher/Launcher.h (+1/-1) launcher/PointerBarrier.cpp (+1/-1) launcher/PointerBarrier.h (+2/-2) panel/PanelView.cpp (+1/-1) panel/PanelView.h (+1/-1) tests/test_edge_barrier_controller.cpp (+134/-134) tests/test_launcher.cpp (+7/-7) tests/test_panel_view.cpp (+2/-2) tests/test_pointer_barrier.cpp (+32/-32) |
||||
To merge this branch: | bzr merge lp:~azzar1/unity/lp-1238063 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Marco Trevisan (Treviño) | Approve | ||
Stephen M. Webb (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Review via email:
|
Commit message
Use std::weak_ptr to avoid referencing an invalid barrier.
Description of the change
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3894
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Marco Trevisan (Treviño) (3v1n0) wrote : | # |
Looks very nice, check my comments.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Andrea Azzarone (azzar1) wrote : | # |
Done
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3895
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3895
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Marco Trevisan (Treviño) (3v1n0) : | # |
Preview Diff
1 | === modified file 'launcher/EdgeBarrierController.cpp' | |||
2 | --- launcher/EdgeBarrierController.cpp 2014-02-27 05:30:25 +0000 | |||
3 | +++ launcher/EdgeBarrierController.cpp 2015-01-14 02:47:10 +0000 | |||
4 | @@ -318,7 +318,7 @@ | |||
5 | 318 | decaymulator_.value = 0; | 318 | decaymulator_.value = 0; |
6 | 319 | } | 319 | } |
7 | 320 | 320 | ||
9 | 321 | void EdgeBarrierController::Impl::BarrierPush(PointerBarrierWrapper* owner, BarrierEvent::Ptr const& event) | 321 | void EdgeBarrierController::Impl::BarrierPush(PointerBarrierWrapper::Ptr const& owner, BarrierEvent::Ptr const& event) |
10 | 322 | { | 322 | { |
11 | 323 | if ((owner->orientation == VERTICAL and EventIsInsideYBreakZone(event)) or | 323 | if ((owner->orientation == VERTICAL and EventIsInsideYBreakZone(event)) or |
12 | 324 | (owner->orientation == HORIZONTAL and EventIsInsideXBreakZone(event))) | 324 | (owner->orientation == HORIZONTAL and EventIsInsideXBreakZone(event))) |
13 | @@ -368,7 +368,7 @@ | |||
14 | 368 | return false; | 368 | return false; |
15 | 369 | } | 369 | } |
16 | 370 | 370 | ||
18 | 371 | void EdgeBarrierController::Impl::OnPointerBarrierEvent(PointerBarrierWrapper* owner, BarrierEvent::Ptr const& event) | 371 | void EdgeBarrierController::Impl::OnPointerBarrierEvent(PointerBarrierWrapper::Ptr const& owner, BarrierEvent::Ptr const& event) |
19 | 372 | { | 372 | { |
20 | 373 | if (owner->released) | 373 | if (owner->released) |
21 | 374 | { | 374 | { |
22 | @@ -418,7 +418,7 @@ | |||
23 | 418 | } | 418 | } |
24 | 419 | } | 419 | } |
25 | 420 | 420 | ||
27 | 421 | void EdgeBarrierController::Impl::BarrierRelease(PointerBarrierWrapper* owner, int event) | 421 | void EdgeBarrierController::Impl::BarrierRelease(PointerBarrierWrapper::Ptr const& owner, int event) |
28 | 422 | { | 422 | { |
29 | 423 | owner->ReleaseBarrier(event); | 423 | owner->ReleaseBarrier(event); |
30 | 424 | owner->released = true; | 424 | owner->released = true; |
31 | @@ -428,9 +428,14 @@ | |||
32 | 428 | (owner->release_once() && (!release_timeout_ || !release_timeout_->IsRunning()))) | 428 | (owner->release_once() && (!release_timeout_ || !release_timeout_->IsRunning()))) |
33 | 429 | { | 429 | { |
34 | 430 | unsigned duration = parent_->options()->edge_passed_disabled_ms; | 430 | unsigned duration = parent_->options()->edge_passed_disabled_ms; |
38 | 431 | release_timeout_.reset(new glib::Timeout(duration, [owner] { | 431 | |
39 | 432 | owner->released = false; | 432 | std::weak_ptr<PointerBarrierWrapper> owner_weak(owner); |
40 | 433 | owner->release_once = false; | 433 | release_timeout_.reset(new glib::Timeout(duration, [owner_weak] { |
41 | 434 | if (PointerBarrierWrapper::Ptr const& owner = owner_weak.lock()) | ||
42 | 435 | { | ||
43 | 436 | owner->released = false; | ||
44 | 437 | owner->release_once = false; | ||
45 | 438 | } | ||
46 | 434 | return false; | 439 | return false; |
47 | 435 | })); | 440 | })); |
48 | 436 | } | 441 | } |
49 | 437 | 442 | ||
50 | === modified file 'launcher/EdgeBarrierController.h' | |||
51 | --- launcher/EdgeBarrierController.h 2013-11-06 11:21:43 +0000 | |||
52 | +++ launcher/EdgeBarrierController.h 2015-01-14 02:47:10 +0000 | |||
53 | @@ -37,7 +37,7 @@ | |||
54 | 37 | }; | 37 | }; |
55 | 38 | 38 | ||
56 | 39 | virtual ~EdgeBarrierSubscriber() {} | 39 | virtual ~EdgeBarrierSubscriber() {} |
58 | 40 | virtual Result HandleBarrierEvent(PointerBarrierWrapper* owner, BarrierEvent::Ptr event) = 0; | 40 | virtual Result HandleBarrierEvent(PointerBarrierWrapper::Ptr const& owner, BarrierEvent::Ptr event) = 0; |
59 | 41 | }; | 41 | }; |
60 | 42 | 42 | ||
61 | 43 | class EdgeBarrierController : public sigc::trackable | 43 | class EdgeBarrierController : public sigc::trackable |
62 | 44 | 44 | ||
63 | === modified file 'launcher/EdgeBarrierControllerPrivate.h' | |||
64 | --- launcher/EdgeBarrierControllerPrivate.h 2014-02-27 05:30:25 +0000 | |||
65 | +++ launcher/EdgeBarrierControllerPrivate.h 2015-01-14 02:47:10 +0000 | |||
66 | @@ -44,9 +44,9 @@ | |||
67 | 44 | void OnUScreenChanged(int primary, std::vector<nux::Geometry> const& layout); | 44 | void OnUScreenChanged(int primary, std::vector<nux::Geometry> const& layout); |
68 | 45 | void OnOptionsChanged(); | 45 | void OnOptionsChanged(); |
69 | 46 | 46 | ||
73 | 47 | void OnPointerBarrierEvent(PointerBarrierWrapper* owner, BarrierEvent::Ptr const& event); | 47 | void OnPointerBarrierEvent(PointerBarrierWrapper::Ptr const& owner, BarrierEvent::Ptr const& event); |
74 | 48 | void BarrierPush(PointerBarrierWrapper* owner, BarrierEvent::Ptr const& event); | 48 | void BarrierPush(PointerBarrierWrapper::Ptr const& owner, BarrierEvent::Ptr const& event); |
75 | 49 | void BarrierRelease(PointerBarrierWrapper* owner, int event); | 49 | void BarrierRelease(PointerBarrierWrapper::Ptr const& owner, int event); |
76 | 50 | void BarrierReset(); | 50 | void BarrierReset(); |
77 | 51 | 51 | ||
78 | 52 | bool EventIsInsideYBreakZone(BarrierEvent::Ptr const& event); | 52 | bool EventIsInsideYBreakZone(BarrierEvent::Ptr const& event); |
79 | 53 | 53 | ||
80 | === modified file 'launcher/Launcher.cpp' | |||
81 | --- launcher/Launcher.cpp 2014-09-04 22:11:33 +0000 | |||
82 | +++ launcher/Launcher.cpp 2015-01-14 02:47:10 +0000 | |||
83 | @@ -2224,7 +2224,7 @@ | |||
84 | 2224 | 2224 | ||
85 | 2225 | #ifdef USE_X11 | 2225 | #ifdef USE_X11 |
86 | 2226 | 2226 | ||
88 | 2227 | ui::EdgeBarrierSubscriber::Result Launcher::HandleBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event) | 2227 | ui::EdgeBarrierSubscriber::Result Launcher::HandleBarrierEvent(ui::PointerBarrierWrapper::Ptr const& owner, ui::BarrierEvent::Ptr event) |
89 | 2228 | { | 2228 | { |
90 | 2229 | if (hide_machine_.GetQuirk(LauncherHideMachine::EXTERNAL_DND_ACTIVE)) | 2229 | if (hide_machine_.GetQuirk(LauncherHideMachine::EXTERNAL_DND_ACTIVE)) |
91 | 2230 | { | 2230 | { |
92 | 2231 | 2231 | ||
93 | === modified file 'launcher/Launcher.h' | |||
94 | --- launcher/Launcher.h 2014-03-17 20:58:25 +0000 | |||
95 | +++ launcher/Launcher.h 2015-01-14 02:47:10 +0000 | |||
96 | @@ -200,7 +200,7 @@ | |||
97 | 200 | #endif | 200 | #endif |
98 | 201 | 201 | ||
99 | 202 | #ifdef USE_X11 | 202 | #ifdef USE_X11 |
101 | 203 | ui::EdgeBarrierSubscriber::Result HandleBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event); | 203 | ui::EdgeBarrierSubscriber::Result HandleBarrierEvent(ui::PointerBarrierWrapper::Ptr const& owner, ui::BarrierEvent::Ptr event); |
102 | 204 | #endif | 204 | #endif |
103 | 205 | 205 | ||
104 | 206 | void OnExpoChanged(); | 206 | void OnExpoChanged(); |
105 | 207 | 207 | ||
106 | === modified file 'launcher/PointerBarrier.cpp' | |||
107 | --- launcher/PointerBarrier.cpp 2013-08-07 18:50:10 +0000 | |||
108 | +++ launcher/PointerBarrier.cpp 2015-01-14 02:47:10 +0000 | |||
109 | @@ -101,7 +101,7 @@ | |||
110 | 101 | { | 101 | { |
111 | 102 | auto event = std::make_shared<BarrierEvent>(x, y, velocity, event_id); | 102 | auto event = std::make_shared<BarrierEvent>(x, y, velocity, event_id); |
112 | 103 | 103 | ||
114 | 104 | barrier_event.emit(this, event); | 104 | barrier_event.emit(shared_from_this(), event); |
115 | 105 | } | 105 | } |
116 | 106 | 106 | ||
117 | 107 | bool PointerBarrierWrapper::IsFirstEvent() const | 107 | bool PointerBarrierWrapper::IsFirstEvent() const |
118 | 108 | 108 | ||
119 | === modified file 'launcher/PointerBarrier.h' | |||
120 | --- launcher/PointerBarrier.h 2013-08-08 14:43:50 +0000 | |||
121 | +++ launcher/PointerBarrier.h 2015-01-14 02:47:10 +0000 | |||
122 | @@ -62,7 +62,7 @@ | |||
123 | 62 | HORIZONTAL | 62 | HORIZONTAL |
124 | 63 | }; | 63 | }; |
125 | 64 | 64 | ||
127 | 65 | class PointerBarrierWrapper : public sigc::trackable | 65 | class PointerBarrierWrapper : public sigc::trackable, public std::enable_shared_from_this<PointerBarrierWrapper> |
128 | 66 | { | 66 | { |
129 | 67 | public: | 67 | public: |
130 | 68 | typedef std::shared_ptr<PointerBarrierWrapper> Ptr; | 68 | typedef std::shared_ptr<PointerBarrierWrapper> Ptr; |
131 | @@ -94,7 +94,7 @@ | |||
132 | 94 | virtual void DestroyBarrier(); | 94 | virtual void DestroyBarrier(); |
133 | 95 | virtual void ReleaseBarrier(int event_id); | 95 | virtual void ReleaseBarrier(int event_id); |
134 | 96 | 96 | ||
136 | 97 | sigc::signal<void, PointerBarrierWrapper*, BarrierEvent::Ptr> barrier_event; | 97 | sigc::signal<void, PointerBarrierWrapper::Ptr const&, BarrierEvent::Ptr> barrier_event; |
137 | 98 | 98 | ||
138 | 99 | bool IsFirstEvent() const; | 99 | bool IsFirstEvent() const; |
139 | 100 | 100 | ||
140 | 101 | 101 | ||
141 | === modified file 'panel/PanelView.cpp' | |||
142 | --- panel/PanelView.cpp 2014-07-30 00:49:35 +0000 | |||
143 | +++ panel/PanelView.cpp 2015-01-14 02:47:10 +0000 | |||
144 | @@ -811,7 +811,7 @@ | |||
145 | 811 | return stored_dash_width_; | 811 | return stored_dash_width_; |
146 | 812 | } | 812 | } |
147 | 813 | 813 | ||
149 | 814 | ui::EdgeBarrierSubscriber::Result PanelView::HandleBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event) | 814 | ui::EdgeBarrierSubscriber::Result PanelView::HandleBarrierEvent(ui::PointerBarrierWrapper::Ptr const& owner, ui::BarrierEvent::Ptr event) |
150 | 815 | { | 815 | { |
151 | 816 | if (WindowManager::Default().IsAnyWindowMoving()) | 816 | if (WindowManager::Default().IsAnyWindowMoving()) |
152 | 817 | return ui::EdgeBarrierSubscriber::Result::IGNORED; | 817 | return ui::EdgeBarrierSubscriber::Result::IGNORED; |
153 | 818 | 818 | ||
154 | === modified file 'panel/PanelView.h' | |||
155 | --- panel/PanelView.h 2014-03-06 16:26:34 +0000 | |||
156 | +++ panel/PanelView.h 2015-01-14 02:47:10 +0000 | |||
157 | @@ -73,7 +73,7 @@ | |||
158 | 73 | 73 | ||
159 | 74 | bool IsMouseInsideIndicator(nux::Point const& mouse_position) const; | 74 | bool IsMouseInsideIndicator(nux::Point const& mouse_position) const; |
160 | 75 | 75 | ||
162 | 76 | ui::EdgeBarrierSubscriber::Result HandleBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event) override; | 76 | ui::EdgeBarrierSubscriber::Result HandleBarrierEvent(ui::PointerBarrierWrapper::Ptr const& owner, ui::BarrierEvent::Ptr event) override; |
163 | 77 | 77 | ||
164 | 78 | protected: | 78 | protected: |
165 | 79 | void Draw(nux::GraphicsEngine& GfxContext, bool force_draw); | 79 | void Draw(nux::GraphicsEngine& GfxContext, bool force_draw); |
166 | 80 | 80 | ||
167 | === modified file 'tests/test_edge_barrier_controller.cpp' | |||
168 | --- tests/test_edge_barrier_controller.cpp 2013-11-06 11:21:43 +0000 | |||
169 | +++ tests/test_edge_barrier_controller.cpp 2015-01-14 02:47:10 +0000 | |||
170 | @@ -56,7 +56,7 @@ | |||
171 | 56 | : handle_result_(result) | 56 | : handle_result_(result) |
172 | 57 | {} | 57 | {} |
173 | 58 | 58 | ||
175 | 59 | EdgeBarrierSubscriber::Result HandleBarrierEvent(PointerBarrierWrapper* owner, BarrierEvent::Ptr event) | 59 | EdgeBarrierSubscriber::Result HandleBarrierEvent(PointerBarrierWrapper::Ptr const& owner, BarrierEvent::Ptr event) |
176 | 60 | { | 60 | { |
177 | 61 | return handle_result_; | 61 | return handle_result_; |
178 | 62 | } | 62 | } |
179 | @@ -89,7 +89,7 @@ | |||
180 | 89 | } | 89 | } |
181 | 90 | } | 90 | } |
182 | 91 | 91 | ||
184 | 92 | void ProcessBarrierEvent(PointerBarrierWrapper* owner, BarrierEvent::Ptr event) | 92 | void ProcessBarrierEvent(PointerBarrierWrapper::Ptr const& owner, BarrierEvent::Ptr event) |
185 | 93 | { | 93 | { |
186 | 94 | GetPrivateImpl()->OnPointerBarrierEvent(owner, event); | 94 | GetPrivateImpl()->OnPointerBarrierEvent(owner, event); |
187 | 95 | } | 95 | } |
188 | @@ -203,11 +203,11 @@ | |||
189 | 203 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); | 203 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); |
190 | 204 | bc.AddVerticalSubscriber(&handling_subscriber, monitor); | 204 | bc.AddVerticalSubscriber(&handling_subscriber, monitor); |
191 | 205 | 205 | ||
193 | 206 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 206 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
194 | 207 | auto breaking_barrier_event = MakeBarrierEvent(0, true); | 207 | auto breaking_barrier_event = MakeBarrierEvent(0, true); |
195 | 208 | 208 | ||
198 | 209 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 209 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
199 | 210 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 210 | ProcessBarrierEvent(owner, breaking_barrier_event); |
200 | 211 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); | 211 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); |
201 | 212 | } | 212 | } |
202 | 213 | 213 | ||
203 | @@ -218,11 +218,11 @@ | |||
204 | 218 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); | 218 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); |
205 | 219 | bc.AddHorizontalSubscriber(&handling_subscriber, monitor); | 219 | bc.AddHorizontalSubscriber(&handling_subscriber, monitor); |
206 | 220 | 220 | ||
208 | 221 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 221 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
209 | 222 | auto breaking_barrier_event = MakeBarrierEvent(0, true); | 222 | auto breaking_barrier_event = MakeBarrierEvent(0, true); |
210 | 223 | 223 | ||
213 | 224 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 224 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
214 | 225 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 225 | ProcessBarrierEvent(owner, breaking_barrier_event); |
215 | 226 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); | 226 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); |
216 | 227 | } | 227 | } |
217 | 228 | 228 | ||
218 | @@ -233,11 +233,11 @@ | |||
219 | 233 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); | 233 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); |
220 | 234 | bc.AddVerticalSubscriber(&handling_subscriber, monitor); | 234 | bc.AddVerticalSubscriber(&handling_subscriber, monitor); |
221 | 235 | 235 | ||
223 | 236 | MockPointerBarrierWrapper owner(monitor, true, VERTICAL); | 236 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, true, VERTICAL); |
224 | 237 | auto breaking_barrier_event = MakeBarrierEvent(5, true); | 237 | auto breaking_barrier_event = MakeBarrierEvent(5, true); |
225 | 238 | 238 | ||
228 | 239 | EXPECT_CALL(owner, ReleaseBarrier(5)).Times(1); | 239 | EXPECT_CALL(*owner, ReleaseBarrier(5)).Times(1); |
229 | 240 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 240 | ProcessBarrierEvent(owner, breaking_barrier_event); |
230 | 241 | } | 241 | } |
231 | 242 | 242 | ||
232 | 243 | TEST_F(TestEdgeBarrierController, ProcessHandledEventOnReleasedBarrierForHorizontalSubscriber) | 243 | TEST_F(TestEdgeBarrierController, ProcessHandledEventOnReleasedBarrierForHorizontalSubscriber) |
233 | @@ -247,118 +247,118 @@ | |||
234 | 247 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); | 247 | TestBarrierSubscriber handling_subscriber(EdgeBarrierSubscriber::Result::HANDLED); |
235 | 248 | bc.AddHorizontalSubscriber(&handling_subscriber, monitor); | 248 | bc.AddHorizontalSubscriber(&handling_subscriber, monitor); |
236 | 249 | 249 | ||
238 | 250 | MockPointerBarrierWrapper owner(monitor, true, HORIZONTAL); | 250 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, true, HORIZONTAL); |
239 | 251 | auto breaking_barrier_event = MakeBarrierEvent(5, true); | 251 | auto breaking_barrier_event = MakeBarrierEvent(5, true); |
240 | 252 | 252 | ||
243 | 253 | EXPECT_CALL(owner, ReleaseBarrier(5)).Times(1); | 253 | EXPECT_CALL(*owner, ReleaseBarrier(5)).Times(1); |
244 | 254 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 254 | ProcessBarrierEvent(owner, breaking_barrier_event); |
245 | 255 | } | 255 | } |
246 | 256 | 256 | ||
247 | 257 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierForVerticalSubscriber) | 257 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierForVerticalSubscriber) |
248 | 258 | { | 258 | { |
249 | 259 | int monitor = 1; | 259 | int monitor = 1; |
250 | 260 | 260 | ||
252 | 261 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 261 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
253 | 262 | int breaking_id = 12345; | 262 | int breaking_id = 12345; |
254 | 263 | auto breaking_barrier_event = MakeBarrierEvent(breaking_id, true); | 263 | auto breaking_barrier_event = MakeBarrierEvent(breaking_id, true); |
255 | 264 | 264 | ||
258 | 265 | EXPECT_CALL(owner, ReleaseBarrier(breaking_id)); | 265 | EXPECT_CALL(*owner, ReleaseBarrier(breaking_id)); |
259 | 266 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 266 | ProcessBarrierEvent(owner, breaking_barrier_event); |
260 | 267 | } | 267 | } |
261 | 268 | 268 | ||
262 | 269 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierForHorizontalSubscriber) | 269 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierForHorizontalSubscriber) |
263 | 270 | { | 270 | { |
264 | 271 | int monitor = 1; | 271 | int monitor = 1; |
265 | 272 | 272 | ||
267 | 273 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 273 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
268 | 274 | int breaking_id = 12345; | 274 | int breaking_id = 12345; |
269 | 275 | auto breaking_barrier_event = MakeBarrierEvent(breaking_id, true); | 275 | auto breaking_barrier_event = MakeBarrierEvent(breaking_id, true); |
270 | 276 | 276 | ||
273 | 277 | EXPECT_CALL(owner, ReleaseBarrier(breaking_id)); | 277 | EXPECT_CALL(*owner, ReleaseBarrier(breaking_id)); |
274 | 278 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 278 | ProcessBarrierEvent(owner, breaking_barrier_event); |
275 | 279 | } | 279 | } |
276 | 280 | 280 | ||
277 | 281 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierOnMaxMonitorForVerticalSubscriber) | 281 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierOnMaxMonitorForVerticalSubscriber) |
278 | 282 | { | 282 | { |
279 | 283 | int monitor = monitors::MAX; | 283 | int monitor = monitors::MAX; |
280 | 284 | 284 | ||
282 | 285 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 285 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
283 | 286 | auto breaking_barrier_event = MakeBarrierEvent(0, true); | 286 | auto breaking_barrier_event = MakeBarrierEvent(0, true); |
284 | 287 | 287 | ||
287 | 288 | EXPECT_CALL(owner, ReleaseBarrier(_)); | 288 | EXPECT_CALL(*owner, ReleaseBarrier(_)); |
288 | 289 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 289 | ProcessBarrierEvent(owner, breaking_barrier_event); |
289 | 290 | } | 290 | } |
290 | 291 | 291 | ||
291 | 292 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierOnMaxMonitorForHorizontalSubscriber) | 292 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventBreakingBarrierOnMaxMonitorForHorizontalSubscriber) |
292 | 293 | { | 293 | { |
293 | 294 | int monitor = monitors::MAX; | 294 | int monitor = monitors::MAX; |
294 | 295 | 295 | ||
296 | 296 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 296 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
297 | 297 | auto breaking_barrier_event = MakeBarrierEvent(0, true); | 297 | auto breaking_barrier_event = MakeBarrierEvent(0, true); |
298 | 298 | 298 | ||
301 | 299 | EXPECT_CALL(owner, ReleaseBarrier(_)); | 299 | EXPECT_CALL(*owner, ReleaseBarrier(_)); |
302 | 300 | ProcessBarrierEvent(&owner, breaking_barrier_event); | 300 | ProcessBarrierEvent(owner, breaking_barrier_event); |
303 | 301 | } | 301 | } |
304 | 302 | 302 | ||
305 | 303 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventNotBreakingBarrierForVerticalSubscriber) | 303 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventNotBreakingBarrierForVerticalSubscriber) |
306 | 304 | { | 304 | { |
307 | 305 | int monitor = 2; | 305 | int monitor = 2; |
308 | 306 | 306 | ||
310 | 307 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 307 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
311 | 308 | int not_breaking_id = 54321; | 308 | int not_breaking_id = 54321; |
312 | 309 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); | 309 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); |
313 | 310 | 310 | ||
316 | 311 | EXPECT_CALL(owner, ReleaseBarrier(not_breaking_id)).Times(0); | 311 | EXPECT_CALL(*owner, ReleaseBarrier(not_breaking_id)).Times(0); |
317 | 312 | ProcessBarrierEvent(&owner, not_breaking_barrier_event); | 312 | ProcessBarrierEvent(owner, not_breaking_barrier_event); |
318 | 313 | } | 313 | } |
319 | 314 | 314 | ||
320 | 315 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventNotBreakingBarrierForHorizontalSubscriber) | 315 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventNotBreakingBarrierForHorizontalSubscriber) |
321 | 316 | { | 316 | { |
322 | 317 | int monitor = 2; | 317 | int monitor = 2; |
323 | 318 | 318 | ||
325 | 319 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 319 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
326 | 320 | int not_breaking_id = 54321; | 320 | int not_breaking_id = 54321; |
327 | 321 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); | 321 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); |
328 | 322 | 322 | ||
331 | 323 | EXPECT_CALL(owner, ReleaseBarrier(not_breaking_id)).Times(0); | 323 | EXPECT_CALL(*owner, ReleaseBarrier(not_breaking_id)).Times(0); |
332 | 324 | ProcessBarrierEvent(&owner, not_breaking_barrier_event); | 324 | ProcessBarrierEvent(owner, not_breaking_barrier_event); |
333 | 325 | } | 325 | } |
334 | 326 | 326 | ||
335 | 327 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventOnReleasedBarrierForVerticalSubscriber) | 327 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventOnReleasedBarrierForVerticalSubscriber) |
336 | 328 | { | 328 | { |
337 | 329 | int monitor = 2; | 329 | int monitor = 2; |
338 | 330 | 330 | ||
340 | 331 | MockPointerBarrierWrapper owner(monitor, true, VERTICAL); | 331 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, true, VERTICAL); |
341 | 332 | int not_breaking_id = 345678; | 332 | int not_breaking_id = 345678; |
342 | 333 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); | 333 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); |
343 | 334 | 334 | ||
346 | 335 | EXPECT_CALL(owner, ReleaseBarrier(not_breaking_id)); | 335 | EXPECT_CALL(*owner, ReleaseBarrier(not_breaking_id)); |
347 | 336 | ProcessBarrierEvent(&owner, not_breaking_barrier_event); | 336 | ProcessBarrierEvent(owner, not_breaking_barrier_event); |
348 | 337 | } | 337 | } |
349 | 338 | 338 | ||
350 | 339 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventOnReleasedBarrierForHorizontalSubscriber) | 339 | TEST_F(TestEdgeBarrierController, ProcessUnHandledEventOnReleasedBarrierForHorizontalSubscriber) |
351 | 340 | { | 340 | { |
352 | 341 | int monitor = 2; | 341 | int monitor = 2; |
353 | 342 | 342 | ||
355 | 343 | MockPointerBarrierWrapper owner(monitor, true, HORIZONTAL); | 343 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, true, HORIZONTAL); |
356 | 344 | int not_breaking_id = 345678; | 344 | int not_breaking_id = 345678; |
357 | 345 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); | 345 | auto not_breaking_barrier_event = MakeBarrierEvent(not_breaking_id, false); |
358 | 346 | 346 | ||
361 | 347 | EXPECT_CALL(owner, ReleaseBarrier(not_breaking_id)); | 347 | EXPECT_CALL(*owner, ReleaseBarrier(not_breaking_id)); |
362 | 348 | ProcessBarrierEvent(&owner, not_breaking_barrier_event); | 348 | ProcessBarrierEvent(owner, not_breaking_barrier_event); |
363 | 349 | } | 349 | } |
364 | 350 | 350 | ||
365 | 351 | TEST_F(TestEdgeBarrierController, ProcessAlreadyHandledEventForVerticalSubscriber) | 351 | TEST_F(TestEdgeBarrierController, ProcessAlreadyHandledEventForVerticalSubscriber) |
366 | 352 | { | 352 | { |
367 | 353 | int monitor = g_random_int_range(0, monitors::MAX); | 353 | int monitor = g_random_int_range(0, monitors::MAX); |
368 | 354 | 354 | ||
370 | 355 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 355 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
371 | 356 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::ALREADY_HANDLED; | 356 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::ALREADY_HANDLED; |
372 | 357 | 357 | ||
373 | 358 | auto event = MakeBarrierEvent(g_random_int(), false); | 358 | auto event = MakeBarrierEvent(g_random_int(), false); |
374 | 359 | 359 | ||
377 | 360 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 360 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
378 | 361 | ProcessBarrierEvent(&owner, event); | 361 | ProcessBarrierEvent(owner, event); |
379 | 362 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); | 362 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); |
380 | 363 | } | 363 | } |
381 | 364 | 364 | ||
382 | @@ -366,13 +366,13 @@ | |||
383 | 366 | { | 366 | { |
384 | 367 | int monitor = g_random_int_range(0, monitors::MAX); | 367 | int monitor = g_random_int_range(0, monitors::MAX); |
385 | 368 | 368 | ||
387 | 369 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 369 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
388 | 370 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::ALREADY_HANDLED; | 370 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::ALREADY_HANDLED; |
389 | 371 | 371 | ||
390 | 372 | auto event = MakeBarrierEvent(g_random_int(), false); | 372 | auto event = MakeBarrierEvent(g_random_int(), false); |
391 | 373 | 373 | ||
394 | 374 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 374 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
395 | 375 | ProcessBarrierEvent(&owner, event); | 375 | ProcessBarrierEvent(owner, event); |
396 | 376 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); | 376 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); |
397 | 377 | } | 377 | } |
398 | 378 | 378 | ||
399 | @@ -381,15 +381,15 @@ | |||
400 | 381 | int monitor = g_random_int_range(0, monitors::MAX); | 381 | int monitor = g_random_int_range(0, monitors::MAX); |
401 | 382 | 382 | ||
402 | 383 | bc.sticky_edges = true; | 383 | bc.sticky_edges = true; |
404 | 384 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 384 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
405 | 385 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 385 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
406 | 386 | 386 | ||
407 | 387 | auto event = MakeBarrierEvent(g_random_int(), false); | 387 | auto event = MakeBarrierEvent(g_random_int(), false); |
408 | 388 | 388 | ||
413 | 389 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 389 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
414 | 390 | ProcessBarrierEvent(&owner, event); | 390 | ProcessBarrierEvent(owner, event); |
415 | 391 | EXPECT_FALSE(owner.released()); | 391 | EXPECT_FALSE(owner->released()); |
416 | 392 | EXPECT_FALSE(owner.release_once()); | 392 | EXPECT_FALSE(owner->release_once()); |
417 | 393 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); | 393 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); |
418 | 394 | } | 394 | } |
419 | 395 | 395 | ||
420 | @@ -398,15 +398,15 @@ | |||
421 | 398 | int monitor = g_random_int_range(0, monitors::MAX); | 398 | int monitor = g_random_int_range(0, monitors::MAX); |
422 | 399 | 399 | ||
423 | 400 | bc.sticky_edges = true; | 400 | bc.sticky_edges = true; |
425 | 401 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 401 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
426 | 402 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 402 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
427 | 403 | 403 | ||
428 | 404 | auto event = MakeBarrierEvent(g_random_int(), false); | 404 | auto event = MakeBarrierEvent(g_random_int(), false); |
429 | 405 | 405 | ||
434 | 406 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 406 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
435 | 407 | ProcessBarrierEvent(&owner, event); | 407 | ProcessBarrierEvent(owner, event); |
436 | 408 | EXPECT_FALSE(owner.released()); | 408 | EXPECT_FALSE(owner->released()); |
437 | 409 | EXPECT_FALSE(owner.release_once()); | 409 | EXPECT_FALSE(owner->release_once()); |
438 | 410 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); | 410 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), event->velocity); |
439 | 411 | } | 411 | } |
440 | 412 | 412 | ||
441 | @@ -415,15 +415,15 @@ | |||
442 | 415 | int monitor = g_random_int_range(0, monitors::MAX); | 415 | int monitor = g_random_int_range(0, monitors::MAX); |
443 | 416 | 416 | ||
444 | 417 | bc.sticky_edges = false; | 417 | bc.sticky_edges = false; |
446 | 418 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 418 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
447 | 419 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 419 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
448 | 420 | 420 | ||
449 | 421 | auto event = MakeBarrierEvent(g_random_int(), false); | 421 | auto event = MakeBarrierEvent(g_random_int(), false); |
450 | 422 | 422 | ||
455 | 423 | EXPECT_CALL(owner, ReleaseBarrier(event->event_id)); | 423 | EXPECT_CALL(*owner, ReleaseBarrier(event->event_id)); |
456 | 424 | ProcessBarrierEvent(&owner, event); | 424 | ProcessBarrierEvent(owner, event); |
457 | 425 | EXPECT_TRUE(owner.released()); | 425 | EXPECT_TRUE(owner->released()); |
458 | 426 | EXPECT_TRUE(owner.release_once()); | 426 | EXPECT_TRUE(owner->release_once()); |
459 | 427 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); | 427 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); |
460 | 428 | } | 428 | } |
461 | 429 | 429 | ||
462 | @@ -432,15 +432,15 @@ | |||
463 | 432 | int monitor = g_random_int_range(0, monitors::MAX); | 432 | int monitor = g_random_int_range(0, monitors::MAX); |
464 | 433 | 433 | ||
465 | 434 | bc.sticky_edges = false; | 434 | bc.sticky_edges = false; |
467 | 435 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 435 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
468 | 436 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 436 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
469 | 437 | 437 | ||
470 | 438 | auto event = MakeBarrierEvent(g_random_int(), false); | 438 | auto event = MakeBarrierEvent(g_random_int(), false); |
471 | 439 | 439 | ||
476 | 440 | EXPECT_CALL(owner, ReleaseBarrier(event->event_id)); | 440 | EXPECT_CALL(*owner, ReleaseBarrier(event->event_id)); |
477 | 441 | ProcessBarrierEvent(&owner, event); | 441 | ProcessBarrierEvent(owner, event); |
478 | 442 | EXPECT_TRUE(owner.released()); | 442 | EXPECT_TRUE(owner->released()); |
479 | 443 | EXPECT_TRUE(owner.release_once()); | 443 | EXPECT_TRUE(owner->release_once()); |
480 | 444 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); | 444 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); |
481 | 445 | } | 445 | } |
482 | 446 | 446 | ||
483 | @@ -448,13 +448,13 @@ | |||
484 | 448 | { | 448 | { |
485 | 449 | int monitor = g_random_int_range(0, monitors::MAX); | 449 | int monitor = g_random_int_range(0, monitors::MAX); |
486 | 450 | 450 | ||
488 | 451 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 451 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
489 | 452 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::NEEDS_RELEASE; | 452 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::NEEDS_RELEASE; |
490 | 453 | 453 | ||
491 | 454 | auto event = MakeBarrierEvent(g_random_int(), false); | 454 | auto event = MakeBarrierEvent(g_random_int(), false); |
492 | 455 | 455 | ||
495 | 456 | EXPECT_CALL(owner, ReleaseBarrier(event->event_id)); | 456 | EXPECT_CALL(*owner, ReleaseBarrier(event->event_id)); |
496 | 457 | ProcessBarrierEvent(&owner, event); | 457 | ProcessBarrierEvent(owner, event); |
497 | 458 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); | 458 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); |
498 | 459 | } | 459 | } |
499 | 460 | 460 | ||
500 | @@ -462,100 +462,100 @@ | |||
501 | 462 | { | 462 | { |
502 | 463 | int monitor = g_random_int_range(0, monitors::MAX); | 463 | int monitor = g_random_int_range(0, monitors::MAX); |
503 | 464 | 464 | ||
505 | 465 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 465 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
506 | 466 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::NEEDS_RELEASE; | 466 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::NEEDS_RELEASE; |
507 | 467 | 467 | ||
508 | 468 | auto event = MakeBarrierEvent(g_random_int(), false); | 468 | auto event = MakeBarrierEvent(g_random_int(), false); |
509 | 469 | 469 | ||
512 | 470 | EXPECT_CALL(owner, ReleaseBarrier(event->event_id)); | 470 | EXPECT_CALL(*owner, ReleaseBarrier(event->event_id)); |
513 | 471 | ProcessBarrierEvent(&owner, event); | 471 | ProcessBarrierEvent(owner, event); |
514 | 472 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); | 472 | EXPECT_EQ(GetPrivateImpl()->decaymulator_.value(), 0); |
515 | 473 | } | 473 | } |
516 | 474 | 474 | ||
517 | 475 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForVerticalSubscriber) | 475 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForVerticalSubscriber) |
518 | 476 | { | 476 | { |
519 | 477 | int monitor = g_random_int_range(0, monitors::MAX); | 477 | int monitor = g_random_int_range(0, monitors::MAX); |
521 | 478 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 478 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
522 | 479 | 479 | ||
526 | 480 | EXPECT_CALL(owner, ReleaseBarrier(1)); | 480 | EXPECT_CALL(*owner, ReleaseBarrier(1)); |
527 | 481 | ProcessBarrierEvent(&owner, MakeBarrierEvent(1, true)); | 481 | ProcessBarrierEvent(owner, MakeBarrierEvent(1, true)); |
528 | 482 | ASSERT_TRUE(owner.released()); | 482 | ASSERT_TRUE(owner->released()); |
529 | 483 | 483 | ||
530 | 484 | Utils::WaitForTimeoutMSec(bc.options()->edge_passed_disabled_ms); | 484 | Utils::WaitForTimeoutMSec(bc.options()->edge_passed_disabled_ms); |
532 | 485 | EXPECT_FALSE(owner.released()); | 485 | EXPECT_FALSE(owner->released()); |
533 | 486 | } | 486 | } |
534 | 487 | 487 | ||
535 | 488 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForHoriziontalSubscriber) | 488 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForHoriziontalSubscriber) |
536 | 489 | { | 489 | { |
537 | 490 | int monitor = g_random_int_range(0, monitors::MAX); | 490 | int monitor = g_random_int_range(0, monitors::MAX); |
539 | 491 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 491 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
540 | 492 | 492 | ||
544 | 493 | EXPECT_CALL(owner, ReleaseBarrier(1)); | 493 | EXPECT_CALL(*owner, ReleaseBarrier(1)); |
545 | 494 | ProcessBarrierEvent(&owner, MakeBarrierEvent(1, true)); | 494 | ProcessBarrierEvent(owner, MakeBarrierEvent(1, true)); |
546 | 495 | ASSERT_TRUE(owner.released()); | 495 | ASSERT_TRUE(owner->released()); |
547 | 496 | 496 | ||
548 | 497 | Utils::WaitForTimeoutMSec(bc.options()->edge_passed_disabled_ms); | 497 | Utils::WaitForTimeoutMSec(bc.options()->edge_passed_disabled_ms); |
550 | 498 | EXPECT_FALSE(owner.released()); | 498 | EXPECT_FALSE(owner->released()); |
551 | 499 | } | 499 | } |
552 | 500 | 500 | ||
553 | 501 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForNotHandledEventsForVerticalSubscriber) | 501 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForNotHandledEventsForVerticalSubscriber) |
554 | 502 | { | 502 | { |
555 | 503 | int monitor = 0; | 503 | int monitor = 0; |
566 | 504 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 504 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
567 | 505 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 505 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
568 | 506 | 506 | ||
569 | 507 | EXPECT_CALL(owner, ReleaseBarrier(5)); | 507 | EXPECT_CALL(*owner, ReleaseBarrier(5)); |
570 | 508 | ProcessBarrierEvent(&owner, MakeBarrierEvent(5, true)); | 508 | ProcessBarrierEvent(owner, MakeBarrierEvent(5, true)); |
571 | 509 | ASSERT_TRUE(owner.released()); | 509 | ASSERT_TRUE(owner->released()); |
572 | 510 | 510 | ||
573 | 511 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 511 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
574 | 512 | EXPECT_CALL(owner, ReleaseBarrier(6)); | 512 | EXPECT_CALL(*owner, ReleaseBarrier(6)); |
575 | 513 | ProcessBarrierEvent(&owner, MakeBarrierEvent(6, false)); | 513 | ProcessBarrierEvent(owner, MakeBarrierEvent(6, false)); |
576 | 514 | } | 514 | } |
577 | 515 | 515 | ||
578 | 516 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForNotHandledEventsForHorizontalSubscriber) | 516 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForNotHandledEventsForHorizontalSubscriber) |
579 | 517 | { | 517 | { |
580 | 518 | int monitor = 0; | 518 | int monitor = 0; |
591 | 519 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 519 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
592 | 520 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 520 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
593 | 521 | 521 | ||
594 | 522 | EXPECT_CALL(owner, ReleaseBarrier(5)); | 522 | EXPECT_CALL(*owner, ReleaseBarrier(5)); |
595 | 523 | ProcessBarrierEvent(&owner, MakeBarrierEvent(5, true)); | 523 | ProcessBarrierEvent(owner, MakeBarrierEvent(5, true)); |
596 | 524 | ASSERT_TRUE(owner.released()); | 524 | ASSERT_TRUE(owner->released()); |
597 | 525 | 525 | ||
598 | 526 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 526 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
599 | 527 | EXPECT_CALL(owner, ReleaseBarrier(6)); | 527 | EXPECT_CALL(*owner, ReleaseBarrier(6)); |
600 | 528 | ProcessBarrierEvent(&owner, MakeBarrierEvent(6, false)); | 528 | ProcessBarrierEvent(owner, MakeBarrierEvent(6, false)); |
601 | 529 | } | 529 | } |
602 | 530 | 530 | ||
603 | 531 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForHandledEventsForVerticalSubscriber) | 531 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForHandledEventsForVerticalSubscriber) |
604 | 532 | { | 532 | { |
605 | 533 | int monitor = 0; | 533 | int monitor = 0; |
607 | 534 | MockPointerBarrierWrapper owner(monitor, false, VERTICAL); | 534 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, VERTICAL); |
608 | 535 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 535 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
609 | 536 | 536 | ||
613 | 537 | EXPECT_CALL(owner, ReleaseBarrier(5)); | 537 | EXPECT_CALL(*owner, ReleaseBarrier(5)); |
614 | 538 | ProcessBarrierEvent(&owner, MakeBarrierEvent(5, true)); | 538 | ProcessBarrierEvent(owner, MakeBarrierEvent(5, true)); |
615 | 539 | ASSERT_TRUE(owner.released()); | 539 | ASSERT_TRUE(owner->released()); |
616 | 540 | 540 | ||
617 | 541 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::HANDLED; | 541 | vertical_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::HANDLED; |
620 | 542 | EXPECT_CALL(owner, ReleaseBarrier(6)).Times(1); | 542 | EXPECT_CALL(*owner, ReleaseBarrier(6)).Times(1); |
621 | 543 | ProcessBarrierEvent(&owner, MakeBarrierEvent(6, true)); | 543 | ProcessBarrierEvent(owner, MakeBarrierEvent(6, true)); |
622 | 544 | } | 544 | } |
623 | 545 | 545 | ||
624 | 546 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForHandledEventsForHoriziontalSubscriber) | 546 | TEST_F(TestEdgeBarrierController, BreakingEdgeTemporaryReleasesBarrierForHandledEventsForHoriziontalSubscriber) |
625 | 547 | { | 547 | { |
626 | 548 | int monitor = 0; | 548 | int monitor = 0; |
628 | 549 | MockPointerBarrierWrapper owner(monitor, false, HORIZONTAL); | 549 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitor, false, HORIZONTAL); |
629 | 550 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; | 550 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::IGNORED; |
630 | 551 | 551 | ||
634 | 552 | EXPECT_CALL(owner, ReleaseBarrier(5)); | 552 | EXPECT_CALL(*owner, ReleaseBarrier(5)); |
635 | 553 | ProcessBarrierEvent(&owner, MakeBarrierEvent(5, true)); | 553 | ProcessBarrierEvent(owner, MakeBarrierEvent(5, true)); |
636 | 554 | ASSERT_TRUE(owner.released()); | 554 | ASSERT_TRUE(owner->released()); |
637 | 555 | 555 | ||
638 | 556 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::HANDLED; | 556 | horizontal_subscribers_[monitor].handle_result_ = EdgeBarrierSubscriber::Result::HANDLED; |
641 | 557 | EXPECT_CALL(owner, ReleaseBarrier(6)).Times(1); | 557 | EXPECT_CALL(*owner, ReleaseBarrier(6)).Times(1); |
642 | 558 | ProcessBarrierEvent(&owner, MakeBarrierEvent(6, true)); | 558 | ProcessBarrierEvent(owner, MakeBarrierEvent(6, true)); |
643 | 559 | } | 559 | } |
644 | 560 | 560 | ||
645 | 561 | TEST_F(TestEdgeBarrierController, StickyEdgePropertyProxiesLauncherOption) | 561 | TEST_F(TestEdgeBarrierController, StickyEdgePropertyProxiesLauncherOption) |
646 | @@ -587,70 +587,70 @@ | |||
647 | 587 | 587 | ||
648 | 588 | TEST_F(TestEdgeBarrierController, VerticalBarrierDoesNotBreakIfYEventToFarApart) | 588 | TEST_F(TestEdgeBarrierController, VerticalBarrierDoesNotBreakIfYEventToFarApart) |
649 | 589 | { | 589 | { |
651 | 590 | MockPointerBarrierWrapper owner(0, false, VERTICAL); | 590 | auto owner = std::make_shared<MockPointerBarrierWrapper>(0, false, VERTICAL); |
652 | 591 | 591 | ||
653 | 592 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); | 592 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); |
654 | 593 | auto firstEvent = std::make_shared<BarrierEvent>(0, 50, velocity, 10); | 593 | auto firstEvent = std::make_shared<BarrierEvent>(0, 50, velocity, 10); |
655 | 594 | auto secondEvent = std::make_shared<BarrierEvent>(0, 150, velocity, 11); | 594 | auto secondEvent = std::make_shared<BarrierEvent>(0, 150, velocity, 11); |
656 | 595 | 595 | ||
660 | 596 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 596 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
661 | 597 | ProcessBarrierEvent(&owner, firstEvent); | 597 | ProcessBarrierEvent(owner, firstEvent); |
662 | 598 | ProcessBarrierEvent(&owner, secondEvent); | 598 | ProcessBarrierEvent(owner, secondEvent); |
663 | 599 | } | 599 | } |
664 | 600 | 600 | ||
665 | 601 | TEST_F(TestEdgeBarrierController, HorizontalBarrierDoesNotBreakIfXEventToFarApart) | 601 | TEST_F(TestEdgeBarrierController, HorizontalBarrierDoesNotBreakIfXEventToFarApart) |
666 | 602 | { | 602 | { |
668 | 603 | MockPointerBarrierWrapper owner(0, false, HORIZONTAL); | 603 | auto owner = std::make_shared<MockPointerBarrierWrapper>(0, false, HORIZONTAL); |
669 | 604 | 604 | ||
670 | 605 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); | 605 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); |
671 | 606 | auto firstEvent = std::make_shared<BarrierEvent>(50, 0, velocity, 10); | 606 | auto firstEvent = std::make_shared<BarrierEvent>(50, 0, velocity, 10); |
672 | 607 | auto secondEvent = std::make_shared<BarrierEvent>(150, 0, velocity, 11); | 607 | auto secondEvent = std::make_shared<BarrierEvent>(150, 0, velocity, 11); |
673 | 608 | 608 | ||
677 | 609 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(0); | 609 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(0); |
678 | 610 | ProcessBarrierEvent(&owner, firstEvent); | 610 | ProcessBarrierEvent(owner, firstEvent); |
679 | 611 | ProcessBarrierEvent(&owner, secondEvent); | 611 | ProcessBarrierEvent(owner, secondEvent); |
680 | 612 | } | 612 | } |
681 | 613 | 613 | ||
682 | 614 | TEST_F(TestEdgeBarrierController, VerticalBarrierBreaksInYBreakZone) | 614 | TEST_F(TestEdgeBarrierController, VerticalBarrierBreaksInYBreakZone) |
683 | 615 | { | 615 | { |
685 | 616 | MockPointerBarrierWrapper owner(0, false, VERTICAL); | 616 | auto owner = std::make_shared<MockPointerBarrierWrapper>(0, false, VERTICAL); |
686 | 617 | 617 | ||
687 | 618 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); | 618 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); |
688 | 619 | auto firstEvent = std::make_shared<BarrierEvent>(0, 50, velocity, 10); | 619 | auto firstEvent = std::make_shared<BarrierEvent>(0, 50, velocity, 10); |
689 | 620 | 620 | ||
693 | 621 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(1); | 621 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(1); |
694 | 622 | ProcessBarrierEvent(&owner, firstEvent); | 622 | ProcessBarrierEvent(owner, firstEvent); |
695 | 623 | ProcessBarrierEvent(&owner, firstEvent); | 623 | ProcessBarrierEvent(owner, firstEvent); |
696 | 624 | } | 624 | } |
697 | 625 | 625 | ||
698 | 626 | TEST_F(TestEdgeBarrierController, HorizontalBarrierBreaksInXBreakZone) | 626 | TEST_F(TestEdgeBarrierController, HorizontalBarrierBreaksInXBreakZone) |
699 | 627 | { | 627 | { |
701 | 628 | MockPointerBarrierWrapper owner(0, false, HORIZONTAL); | 628 | auto owner = std::make_shared<MockPointerBarrierWrapper>(0, false, HORIZONTAL); |
702 | 629 | 629 | ||
703 | 630 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); | 630 | int velocity = bc.options()->edge_overcome_pressure() * bc.options()->edge_responsiveness(); |
704 | 631 | auto firstEvent = std::make_shared<BarrierEvent>(50, 0, velocity, 10); | 631 | auto firstEvent = std::make_shared<BarrierEvent>(50, 0, velocity, 10); |
705 | 632 | 632 | ||
709 | 633 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(1); | 633 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(1); |
710 | 634 | ProcessBarrierEvent(&owner, firstEvent); | 634 | ProcessBarrierEvent(owner, firstEvent); |
711 | 635 | ProcessBarrierEvent(&owner, firstEvent); | 635 | ProcessBarrierEvent(owner, firstEvent); |
712 | 636 | } | 636 | } |
713 | 637 | 637 | ||
714 | 638 | TEST_F(TestEdgeBarrierController, VerticalBarrierReleaseIfNoSubscriberForMonitor) | 638 | TEST_F(TestEdgeBarrierController, VerticalBarrierReleaseIfNoSubscriberForMonitor) |
715 | 639 | { | 639 | { |
717 | 640 | MockPointerBarrierWrapper owner(monitors::MAX, false, VERTICAL); | 640 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitors::MAX, false, VERTICAL); |
718 | 641 | auto firstEvent = std::make_shared<BarrierEvent>(0, 50, 1, 10); | 641 | auto firstEvent = std::make_shared<BarrierEvent>(0, 50, 1, 10); |
719 | 642 | 642 | ||
722 | 643 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(1); | 643 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(1); |
723 | 644 | ProcessBarrierEvent(&owner, firstEvent); | 644 | ProcessBarrierEvent(owner, firstEvent); |
724 | 645 | } | 645 | } |
725 | 646 | 646 | ||
726 | 647 | TEST_F(TestEdgeBarrierController, HorizontalBarrierReleaseIfNoSubscriberForMonitor) | 647 | TEST_F(TestEdgeBarrierController, HorizontalBarrierReleaseIfNoSubscriberForMonitor) |
727 | 648 | { | 648 | { |
729 | 649 | MockPointerBarrierWrapper owner(monitors::MAX, false, HORIZONTAL); | 649 | auto owner = std::make_shared<MockPointerBarrierWrapper>(monitors::MAX, false, HORIZONTAL); |
730 | 650 | auto firstEvent = std::make_shared<BarrierEvent>(50, 0, 1, 10); | 650 | auto firstEvent = std::make_shared<BarrierEvent>(50, 0, 1, 10); |
731 | 651 | 651 | ||
734 | 652 | EXPECT_CALL(owner, ReleaseBarrier(_)).Times(1); | 652 | EXPECT_CALL(*owner, ReleaseBarrier(_)).Times(1); |
735 | 653 | ProcessBarrierEvent(&owner, firstEvent); | 653 | ProcessBarrierEvent(owner, firstEvent); |
736 | 654 | } | 654 | } |
737 | 655 | 655 | ||
738 | 656 | } | 656 | } |
739 | 657 | 657 | ||
740 | === modified file 'tests/test_launcher.cpp' | |||
741 | --- tests/test_launcher.cpp 2014-03-21 04:40:12 +0000 | |||
742 | +++ tests/test_launcher.cpp 2015-01-14 02:47:10 +0000 | |||
743 | @@ -502,7 +502,7 @@ | |||
744 | 502 | 502 | ||
745 | 503 | launcher_->DndStarted(""); | 503 | launcher_->DndStarted(""); |
746 | 504 | 504 | ||
748 | 505 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier.get(), event), | 505 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier, event), |
749 | 506 | ui::EdgeBarrierSubscriber::Result::NEEDS_RELEASE); | 506 | ui::EdgeBarrierSubscriber::Result::NEEDS_RELEASE); |
750 | 507 | } | 507 | } |
751 | 508 | 508 | ||
752 | @@ -515,24 +515,24 @@ | |||
753 | 515 | 515 | ||
754 | 516 | event->x = launcher_geo.x-1; | 516 | event->x = launcher_geo.x-1; |
755 | 517 | event->y = launcher_geo.y; | 517 | event->y = launcher_geo.y; |
757 | 518 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier.get(), event), | 518 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier, event), |
758 | 519 | ui::EdgeBarrierSubscriber::Result::IGNORED); | 519 | ui::EdgeBarrierSubscriber::Result::IGNORED); |
759 | 520 | 520 | ||
760 | 521 | event->x = launcher_geo.x+launcher_geo.width+1; | 521 | event->x = launcher_geo.x+launcher_geo.width+1; |
761 | 522 | event->y = launcher_geo.y; | 522 | event->y = launcher_geo.y; |
763 | 523 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier.get(), event), | 523 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier, event), |
764 | 524 | ui::EdgeBarrierSubscriber::Result::IGNORED); | 524 | ui::EdgeBarrierSubscriber::Result::IGNORED); |
765 | 525 | 525 | ||
766 | 526 | options_->reveal_trigger = RevealTrigger::EDGE; | 526 | options_->reveal_trigger = RevealTrigger::EDGE; |
767 | 527 | event->x = launcher_geo.x+launcher_geo.width/2; | 527 | event->x = launcher_geo.x+launcher_geo.width/2; |
768 | 528 | event->y = launcher_geo.y - 1; | 528 | event->y = launcher_geo.y - 1; |
770 | 529 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier.get(), event), | 529 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier, event), |
771 | 530 | ui::EdgeBarrierSubscriber::Result::IGNORED); | 530 | ui::EdgeBarrierSubscriber::Result::IGNORED); |
772 | 531 | 531 | ||
773 | 532 | options_->reveal_trigger = RevealTrigger::CORNER; | 532 | options_->reveal_trigger = RevealTrigger::CORNER; |
774 | 533 | event->x = launcher_geo.x+launcher_geo.width/2; | 533 | event->x = launcher_geo.x+launcher_geo.width/2; |
775 | 534 | event->y = launcher_geo.y; | 534 | event->y = launcher_geo.y; |
777 | 535 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier.get(), event), | 535 | EXPECT_EQ(launcher_->HandleBarrierEvent(barrier, event), |
778 | 536 | ui::EdgeBarrierSubscriber::Result::IGNORED); | 536 | ui::EdgeBarrierSubscriber::Result::IGNORED); |
779 | 537 | } | 537 | } |
780 | 538 | 538 | ||
781 | @@ -551,7 +551,7 @@ | |||
782 | 551 | { | 551 | { |
783 | 552 | event->x = x; | 552 | event->x = x; |
784 | 553 | event->y = y; | 553 | event->y = y; |
786 | 554 | ASSERT_EQ(launcher_->HandleBarrierEvent(barrier.get(), event), | 554 | ASSERT_EQ(launcher_->HandleBarrierEvent(barrier, event), |
787 | 555 | ui::EdgeBarrierSubscriber::Result::HANDLED); | 555 | ui::EdgeBarrierSubscriber::Result::HANDLED); |
788 | 556 | } | 556 | } |
789 | 557 | } | 557 | } |
790 | @@ -564,7 +564,7 @@ | |||
791 | 564 | { | 564 | { |
792 | 565 | event->x = x; | 565 | event->x = x; |
793 | 566 | event->y = y; | 566 | event->y = y; |
795 | 567 | ASSERT_EQ(launcher_->HandleBarrierEvent(barrier.get(), event), | 567 | ASSERT_EQ(launcher_->HandleBarrierEvent(barrier, event), |
796 | 568 | ui::EdgeBarrierSubscriber::Result::HANDLED); | 568 | ui::EdgeBarrierSubscriber::Result::HANDLED); |
797 | 569 | } | 569 | } |
798 | 570 | } | 570 | } |
799 | 571 | 571 | ||
800 | === modified file 'tests/test_panel_view.cpp' | |||
801 | --- tests/test_panel_view.cpp 2014-03-21 04:40:12 +0000 | |||
802 | +++ tests/test_panel_view.cpp 2015-01-14 02:47:10 +0000 | |||
803 | @@ -80,11 +80,11 @@ | |||
804 | 80 | auto event = std::make_shared<ui::BarrierEvent>(0, 0, 0, 100); | 80 | auto event = std::make_shared<ui::BarrierEvent>(0, 0, 0, 100); |
805 | 81 | 81 | ||
806 | 82 | WM->SetIsAnyWindowMoving(false); | 82 | WM->SetIsAnyWindowMoving(false); |
808 | 83 | EXPECT_EQ(panel_view_->HandleBarrierEvent(barrier.get(), event), | 83 | EXPECT_EQ(panel_view_->HandleBarrierEvent(barrier, event), |
809 | 84 | ui::EdgeBarrierSubscriber::Result::NEEDS_RELEASE); | 84 | ui::EdgeBarrierSubscriber::Result::NEEDS_RELEASE); |
810 | 85 | 85 | ||
811 | 86 | WM->SetIsAnyWindowMoving(true); | 86 | WM->SetIsAnyWindowMoving(true); |
813 | 87 | EXPECT_EQ(panel_view_->HandleBarrierEvent(barrier.get(), event), | 87 | EXPECT_EQ(panel_view_->HandleBarrierEvent(barrier, event), |
814 | 88 | ui::EdgeBarrierSubscriber::Result::IGNORED); | 88 | ui::EdgeBarrierSubscriber::Result::IGNORED); |
815 | 89 | } | 89 | } |
816 | 90 | 90 | ||
817 | 91 | 91 | ||
818 | === modified file 'tests/test_pointer_barrier.cpp' | |||
819 | --- tests/test_pointer_barrier.cpp 2013-07-09 23:18:29 +0000 | |||
820 | +++ tests/test_pointer_barrier.cpp 2015-01-14 02:47:10 +0000 | |||
821 | @@ -79,79 +79,79 @@ | |||
822 | 79 | 79 | ||
823 | 80 | TEST(TestPointerBarrier, HandleHitNotifyEvents) | 80 | TEST(TestPointerBarrier, HandleHitNotifyEvents) |
824 | 81 | { | 81 | { |
827 | 82 | MockPointerBarrier pb; | 82 | auto pb = std::make_shared<MockPointerBarrier>(); |
828 | 83 | pb.threshold = 1000; | 83 | pb->threshold = 1000; |
829 | 84 | XIBarrierEvent ev = GetGenericEvent(0xdeadbeef); | 84 | XIBarrierEvent ev = GetGenericEvent(0xdeadbeef); |
830 | 85 | 85 | ||
831 | 86 | bool got_event = false; | 86 | bool got_event = false; |
832 | 87 | 87 | ||
834 | 88 | pb.barrier_event.connect([&] (PointerBarrierWrapper* pbw, BarrierEvent::Ptr bev) { | 88 | pb->barrier_event.connect([&] (PointerBarrierWrapper::Ptr const& pbw, BarrierEvent::Ptr bev) { |
835 | 89 | if (!pbw->IsFirstEvent()) | 89 | if (!pbw->IsFirstEvent()) |
836 | 90 | { | 90 | { |
837 | 91 | got_event = true; | 91 | got_event = true; |
838 | 92 | 92 | ||
840 | 93 | EXPECT_EQ(pbw, &pb); | 93 | EXPECT_EQ(pbw.get(), pb.get()); |
841 | 94 | EXPECT_EQ(bev->x, ev.root_x); | 94 | EXPECT_EQ(bev->x, ev.root_x); |
842 | 95 | EXPECT_EQ(bev->y, ev.root_y); | 95 | EXPECT_EQ(bev->y, ev.root_y); |
844 | 96 | EXPECT_EQ(bev->velocity, 600 * pb.max_velocity_multiplier); | 96 | EXPECT_EQ(bev->velocity, 600 * pb->max_velocity_multiplier); |
845 | 97 | EXPECT_EQ(bev->event_id, ev.eventid); | 97 | EXPECT_EQ(bev->event_id, ev.eventid); |
846 | 98 | } | 98 | } |
847 | 99 | }); | 99 | }); |
848 | 100 | 100 | ||
850 | 101 | EXPECT_TRUE(pb.HandleBarrierEvent(&ev)); | 101 | EXPECT_TRUE(pb->HandleBarrierEvent(&ev)); |
851 | 102 | EXPECT_FALSE(got_event); | 102 | EXPECT_FALSE(got_event); |
852 | 103 | 103 | ||
854 | 104 | Utils::WaitForTimeoutMSec(pb.smoothing()); | 104 | Utils::WaitForTimeoutMSec(pb->smoothing()); |
855 | 105 | 105 | ||
856 | 106 | EXPECT_TRUE(got_event); | 106 | EXPECT_TRUE(got_event); |
857 | 107 | } | 107 | } |
858 | 108 | 108 | ||
859 | 109 | TEST(TestPointerBarrier, HandleHitNotifyReleasedEvents) | 109 | TEST(TestPointerBarrier, HandleHitNotifyReleasedEvents) |
860 | 110 | { | 110 | { |
863 | 111 | MockPointerBarrier pb; | 111 | auto pb = std::make_shared<MockPointerBarrier>(); |
864 | 112 | pb.threshold = 1000; | 112 | pb->threshold = 1000; |
865 | 113 | XIBarrierEvent ev = GetGenericEvent(0xabba); | 113 | XIBarrierEvent ev = GetGenericEvent(0xabba); |
866 | 114 | bool got_event = false; | 114 | bool got_event = false; |
867 | 115 | 115 | ||
869 | 116 | pb.barrier_event.connect([&] (PointerBarrierWrapper* pbw, BarrierEvent::Ptr bev) { | 116 | pb->barrier_event.connect([&] (PointerBarrierWrapper::Ptr const& pbw, BarrierEvent::Ptr bev) { |
870 | 117 | got_event = true; | 117 | got_event = true; |
871 | 118 | 118 | ||
873 | 119 | EXPECT_EQ(pbw, &pb); | 119 | EXPECT_EQ(pbw.get(), pb.get()); |
874 | 120 | EXPECT_EQ(bev->x, ev.root_x); | 120 | EXPECT_EQ(bev->x, ev.root_x); |
875 | 121 | EXPECT_EQ(bev->y, ev.root_y); | 121 | EXPECT_EQ(bev->y, ev.root_y); |
876 | 122 | EXPECT_GT(bev->velocity, 0); | 122 | EXPECT_GT(bev->velocity, 0); |
877 | 123 | EXPECT_EQ(bev->event_id, ev.eventid); | 123 | EXPECT_EQ(bev->event_id, ev.eventid); |
878 | 124 | }); | 124 | }); |
879 | 125 | 125 | ||
882 | 126 | pb.released = true; | 126 | pb->released = true; |
883 | 127 | EXPECT_TRUE(pb.HandleBarrierEvent(&ev)); | 127 | EXPECT_TRUE(pb->HandleBarrierEvent(&ev)); |
884 | 128 | EXPECT_TRUE(got_event); | 128 | EXPECT_TRUE(got_event); |
885 | 129 | } | 129 | } |
886 | 130 | 130 | ||
887 | 131 | TEST(TestPointerBarrier, ReciveFirstEvent) | 131 | TEST(TestPointerBarrier, ReciveFirstEvent) |
888 | 132 | { | 132 | { |
891 | 133 | MockPointerBarrier pb; | 133 | auto pb = std::make_shared<MockPointerBarrier>(); |
892 | 134 | pb.threshold = 1000; | 134 | pb->threshold = 1000; |
893 | 135 | XIBarrierEvent ev = GetGenericEvent(0xabba); | 135 | XIBarrierEvent ev = GetGenericEvent(0xabba); |
894 | 136 | 136 | ||
895 | 137 | bool first_is_true = false; | 137 | bool first_is_true = false; |
896 | 138 | 138 | ||
898 | 139 | pb.barrier_event.connect([&] (PointerBarrierWrapper* pbw, BarrierEvent::Ptr bev) { | 139 | pb->barrier_event.connect([&] (PointerBarrierWrapper::Ptr const& pbw, BarrierEvent::Ptr bev) { |
899 | 140 | first_is_true = true; | 140 | first_is_true = true; |
900 | 141 | }); | 141 | }); |
901 | 142 | 142 | ||
903 | 143 | EXPECT_TRUE(pb.HandleBarrierEvent(&ev)); | 143 | EXPECT_TRUE(pb->HandleBarrierEvent(&ev)); |
904 | 144 | EXPECT_TRUE(first_is_true); | 144 | EXPECT_TRUE(first_is_true); |
905 | 145 | } | 145 | } |
906 | 146 | 146 | ||
907 | 147 | TEST(TestPointerBarrier, ReciveSecondEventFirstFalse) | 147 | TEST(TestPointerBarrier, ReciveSecondEventFirstFalse) |
908 | 148 | { | 148 | { |
911 | 149 | MockPointerBarrier pb; | 149 | auto pb = std::make_shared<MockPointerBarrier>(); |
912 | 150 | pb.threshold = 1000; | 150 | pb->threshold = 1000; |
913 | 151 | XIBarrierEvent ev = GetGenericEvent(0xabba); | 151 | XIBarrierEvent ev = GetGenericEvent(0xabba); |
914 | 152 | int events_recived = 0; | 152 | int events_recived = 0; |
915 | 153 | 153 | ||
917 | 154 | pb.barrier_event.connect([&] (PointerBarrierWrapper* pbw, BarrierEvent::Ptr bev) { | 154 | pb->barrier_event.connect([&] (PointerBarrierWrapper::Ptr const& pbw, BarrierEvent::Ptr bev) { |
918 | 155 | events_recived++; | 155 | events_recived++; |
919 | 156 | 156 | ||
920 | 157 | if (events_recived == 1) | 157 | if (events_recived == 1) |
921 | @@ -160,44 +160,44 @@ | |||
922 | 160 | EXPECT_FALSE(pbw->IsFirstEvent()); | 160 | EXPECT_FALSE(pbw->IsFirstEvent()); |
923 | 161 | }); | 161 | }); |
924 | 162 | 162 | ||
926 | 163 | EXPECT_TRUE(pb.HandleBarrierEvent(&ev)); | 163 | EXPECT_TRUE(pb->HandleBarrierEvent(&ev)); |
927 | 164 | 164 | ||
929 | 165 | Utils::WaitForTimeoutMSec(pb.smoothing()); | 165 | Utils::WaitForTimeoutMSec(pb->smoothing()); |
930 | 166 | 166 | ||
931 | 167 | EXPECT_EQ(events_recived, 2); | 167 | EXPECT_EQ(events_recived, 2); |
932 | 168 | } | 168 | } |
933 | 169 | 169 | ||
934 | 170 | TEST(TestPointerBarrier, DontReleaseBarrierOnEmptyDTime) | 170 | TEST(TestPointerBarrier, DontReleaseBarrierOnEmptyDTime) |
935 | 171 | { | 171 | { |
938 | 172 | MockPointerBarrier pb; | 172 | auto pb = std::make_shared<MockPointerBarrier>(); |
939 | 173 | pb.threshold = 1000; | 173 | pb->threshold = 1000; |
940 | 174 | XIBarrierEvent ev = GetGenericEvent(0xabba); | 174 | XIBarrierEvent ev = GetGenericEvent(0xabba); |
941 | 175 | ev.dtime = 0; | 175 | ev.dtime = 0; |
942 | 176 | 176 | ||
943 | 177 | { | 177 | { |
944 | 178 | InSequence sequence; | 178 | InSequence sequence; |
946 | 179 | EXPECT_CALL(pb, ReleaseBarrier(0xabba)).Times(0); | 179 | EXPECT_CALL(*pb, ReleaseBarrier(0xabba)).Times(0); |
947 | 180 | } | 180 | } |
948 | 181 | 181 | ||
950 | 182 | EXPECT_TRUE(pb.HandleBarrierEvent(&ev)); | 182 | EXPECT_TRUE(pb->HandleBarrierEvent(&ev)); |
951 | 183 | 183 | ||
953 | 184 | Utils::WaitForTimeoutMSec(pb.smoothing()); | 184 | Utils::WaitForTimeoutMSec(pb->smoothing()); |
954 | 185 | } | 185 | } |
955 | 186 | 186 | ||
956 | 187 | TEST(TestPointerBarrier, ReleaseBarrierIfOverThreshold) | 187 | TEST(TestPointerBarrier, ReleaseBarrierIfOverThreshold) |
957 | 188 | { | 188 | { |
960 | 189 | MockPointerBarrier pb; | 189 | auto pb = std::make_shared<MockPointerBarrier>(); |
961 | 190 | pb.threshold = 500; | 190 | pb->threshold = 500; |
962 | 191 | XIBarrierEvent ev = GetGenericEvent(0xabba); | 191 | XIBarrierEvent ev = GetGenericEvent(0xabba); |
963 | 192 | 192 | ||
964 | 193 | { | 193 | { |
965 | 194 | InSequence sequence; | 194 | InSequence sequence; |
967 | 195 | EXPECT_CALL(pb, ReleaseBarrier(0xabba)).Times(1); | 195 | EXPECT_CALL(*pb, ReleaseBarrier(0xabba)).Times(1); |
968 | 196 | } | 196 | } |
969 | 197 | 197 | ||
971 | 198 | EXPECT_TRUE(pb.HandleBarrierEvent(&ev)); | 198 | EXPECT_TRUE(pb->HandleBarrierEvent(&ev)); |
972 | 199 | 199 | ||
974 | 200 | Utils::WaitForTimeoutMSec(pb.smoothing()); | 200 | Utils::WaitForTimeoutMSec(pb->smoothing()); |
975 | 201 | } | 201 | } |
976 | 202 | 202 | ||
977 | 203 | } | 203 | } |
FAILED: Continuous integration, rev:3894 jenkins. qa.ubuntu. com/job/ unity-ci/ 1120/ jenkins. qa.ubuntu. com/job/ unity-vivid- amd64-ci/ 7/console jenkins. qa.ubuntu. com/job/ unity-vivid- armhf-ci/ 7/console jenkins. qa.ubuntu. com/job/ unity-vivid- i386-ci/ 7/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/unity- ci/1120/ rebuild
http://