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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManagerTest.java

Issue 2760153002: Convert chrome compositor test's InstrumentationTestCases (Closed)
Patch Set: Address comments Created 3 years, 9 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.compositor.bottombar; 5 package org.chromium.chrome.browser.compositor.bottombar;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.support.test.InstrumentationRegistry;
9 import android.support.test.annotation.UiThreadTest;
8 import android.support.test.filters.SmallTest; 10 import android.support.test.filters.SmallTest;
9 import android.test.InstrumentationTestCase; 11 import android.support.test.rule.UiThreadTestRule;
10 import android.view.ViewGroup; 12 import android.view.ViewGroup;
11 import android.widget.LinearLayout; 13 import android.widget.LinearLayout;
12 14
15 import org.junit.Assert;
16 import org.junit.Rule;
17 import org.junit.Test;
18 import org.junit.runner.RunWith;
19
13 import org.chromium.base.test.util.Feature; 20 import org.chromium.base.test.util.Feature;
14 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChange Reason; 21 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChange Reason;
15 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager.Pane lPriority; 22 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager.Pane lPriority;
16 import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost; 23 import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost;
24 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
17 import org.chromium.ui.resources.dynamics.DynamicResourceLoader; 25 import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
18 26
19 /** 27 /**
20 * Class responsible for testing the OverlayPanelManager. 28 * Class responsible for testing the OverlayPanelManager.
21 */ 29 */
22 public class OverlayPanelManagerTest extends InstrumentationTestCase { 30 @RunWith(ChromeJUnit4ClassRunner.class)
31 public class OverlayPanelManagerTest {
32 @Rule
33 public UiThreadTestRule mRule = new UiThreadTestRule();
23 34
24 // ------------------------------------------------------------------------- ------------------- 35 // ------------------------------------------------------------------------- -------------------
25 // MockOverlayPanel 36 // MockOverlayPanel
26 // ------------------------------------------------------------------------- ------------------- 37 // ------------------------------------------------------------------------- -------------------
27 38
28 /** 39 /**
29 * Mocks the ContextualSearchPanel, so it doesn't create ContentViewCore. 40 * Mocks the ContextualSearchPanel, so it doesn't create ContentViewCore.
30 */ 41 */
31 public static class MockOverlayPanel extends OverlayPanel { 42 public static class MockOverlayPanel extends OverlayPanel {
32 43
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 105
95 @Override 106 @Override
96 public void removeLastHistoryEntry(String url, long timeInMs) {} 107 public void removeLastHistoryEntry(String url, long timeInMs) {}
97 } 108 }
98 } 109 }
99 110
100 // ------------------------------------------------------------------------- ------------------- 111 // ------------------------------------------------------------------------- -------------------
101 // Test Suite 112 // Test Suite
102 // ------------------------------------------------------------------------- ------------------- 113 // ------------------------------------------------------------------------- -------------------
103 114
115 @Test
104 @SmallTest 116 @SmallTest
105 @Feature({"OverlayPanel"}) 117 @Feature({"OverlayPanel"})
118 @UiThreadTest
106 public void testPanelRequestingShow() { 119 public void testPanelRequestingShow() {
107 Context context = getInstrumentation().getTargetContext(); 120 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
108 121
109 OverlayPanelManager panelManager = new OverlayPanelManager(); 122 OverlayPanelManager panelManager = new OverlayPanelManager();
110 OverlayPanel panel = 123 OverlayPanel panel =
111 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, false); 124 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, false);
112 125
113 panel.requestPanelShow(StateChangeReason.UNKNOWN); 126 panel.requestPanelShow(StateChangeReason.UNKNOWN);
114 127
115 assertTrue(panelManager.getActivePanel() == panel); 128 Assert.assertTrue(panelManager.getActivePanel() == panel);
116 } 129 }
117 130
131 @Test
118 @SmallTest 132 @SmallTest
119 @Feature({"OverlayPanel"}) 133 @Feature({"OverlayPanel"})
134 @UiThreadTest
120 public void testPanelClosed() { 135 public void testPanelClosed() {
121 Context context = getInstrumentation().getTargetContext(); 136 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
122 137
123 OverlayPanelManager panelManager = new OverlayPanelManager(); 138 OverlayPanelManager panelManager = new OverlayPanelManager();
124 OverlayPanel panel = 139 OverlayPanel panel =
125 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, false); 140 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, false);
126 141
127 panel.requestPanelShow(StateChangeReason.UNKNOWN); 142 panel.requestPanelShow(StateChangeReason.UNKNOWN);
128 panel.closePanel(StateChangeReason.UNKNOWN, false); 143 panel.closePanel(StateChangeReason.UNKNOWN, false);
129 144
130 assertTrue(panelManager.getActivePanel() == null); 145 Assert.assertTrue(panelManager.getActivePanel() == null);
131 } 146 }
132 147
148 @Test
133 @SmallTest 149 @SmallTest
134 @Feature({"OverlayPanel"}) 150 @Feature({"OverlayPanel"})
151 @UiThreadTest
135 public void testHighPrioritySuppressingLowPriority() { 152 public void testHighPrioritySuppressingLowPriority() {
136 Context context = getInstrumentation().getTargetContext(); 153 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
137 154
138 OverlayPanelManager panelManager = new OverlayPanelManager(); 155 OverlayPanelManager panelManager = new OverlayPanelManager();
139 OverlayPanel lowPriorityPanel = 156 OverlayPanel lowPriorityPanel =
140 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, false); 157 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, false);
141 OverlayPanel highPriorityPanel = 158 OverlayPanel highPriorityPanel =
142 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false); 159 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false);
143 160
144 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 161 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
145 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 162 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
146 163
147 assertTrue(panelManager.getActivePanel() == highPriorityPanel); 164 Assert.assertTrue(panelManager.getActivePanel() == highPriorityPanel);
148 } 165 }
149 166
167 @Test
150 @SmallTest 168 @SmallTest
151 @Feature({"OverlayPanel"}) 169 @Feature({"OverlayPanel"})
170 @UiThreadTest
152 public void testSuppressedPanelRestored() { 171 public void testSuppressedPanelRestored() {
153 Context context = getInstrumentation().getTargetContext(); 172 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
154 173
155 OverlayPanelManager panelManager = new OverlayPanelManager(); 174 OverlayPanelManager panelManager = new OverlayPanelManager();
156 OverlayPanel lowPriorityPanel = 175 OverlayPanel lowPriorityPanel =
157 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true); 176 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true);
158 OverlayPanel highPriorityPanel = 177 OverlayPanel highPriorityPanel =
159 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false); 178 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false);
160 179
161 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 180 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
162 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 181 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
163 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 182 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
164 183
165 assertTrue(panelManager.getActivePanel() == lowPriorityPanel); 184 Assert.assertTrue(panelManager.getActivePanel() == lowPriorityPanel);
166 } 185 }
167 186
187 @Test
168 @SmallTest 188 @SmallTest
169 @Feature({"OverlayPanel"}) 189 @Feature({"OverlayPanel"})
190 @UiThreadTest
170 public void testUnsuppressiblePanelNotRestored() { 191 public void testUnsuppressiblePanelNotRestored() {
171 Context context = getInstrumentation().getTargetContext(); 192 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
172 193
173 OverlayPanelManager panelManager = new OverlayPanelManager(); 194 OverlayPanelManager panelManager = new OverlayPanelManager();
174 OverlayPanel lowPriorityPanel = 195 OverlayPanel lowPriorityPanel =
175 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, false); 196 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, false);
176 OverlayPanel highPriorityPanel = 197 OverlayPanel highPriorityPanel =
177 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false); 198 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false);
178 199
179 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 200 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
180 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 201 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
181 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 202 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
182 203
183 assertTrue(panelManager.getActivePanel() == null); 204 Assert.assertTrue(panelManager.getActivePanel() == null);
184 } 205 }
185 206
207 @Test
186 @SmallTest 208 @SmallTest
187 @Feature({"OverlayPanel"}) 209 @Feature({"OverlayPanel"})
210 @UiThreadTest
188 public void testSuppressedPanelClosedBeforeRestore() { 211 public void testSuppressedPanelClosedBeforeRestore() {
189 Context context = getInstrumentation().getTargetContext(); 212 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
190 213
191 OverlayPanelManager panelManager = new OverlayPanelManager(); 214 OverlayPanelManager panelManager = new OverlayPanelManager();
192 OverlayPanel lowPriorityPanel = 215 OverlayPanel lowPriorityPanel =
193 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true); 216 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true);
194 OverlayPanel highPriorityPanel = 217 OverlayPanel highPriorityPanel =
195 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false); 218 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false);
196 219
197 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 220 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
198 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 221 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
199 lowPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 222 lowPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
200 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 223 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
201 224
202 assertEquals(null, panelManager.getActivePanel()); 225 Assert.assertEquals(null, panelManager.getActivePanel());
203 assertEquals(0, panelManager.getSuppressedQueueSize()); 226 Assert.assertEquals(0, panelManager.getSuppressedQueueSize());
204 } 227 }
205 228
229 @Test
206 @SmallTest 230 @SmallTest
207 @Feature({"OverlayPanel"}) 231 @Feature({"OverlayPanel"})
232 @UiThreadTest
208 public void testSuppressedPanelPriority() { 233 public void testSuppressedPanelPriority() {
209 Context context = getInstrumentation().getTargetContext(); 234 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
210 235
211 OverlayPanelManager panelManager = new OverlayPanelManager(); 236 OverlayPanelManager panelManager = new OverlayPanelManager();
212 OverlayPanel lowPriorityPanel = 237 OverlayPanel lowPriorityPanel =
213 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true); 238 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true);
214 OverlayPanel mediumPriorityPanel = 239 OverlayPanel mediumPriorityPanel =
215 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true); 240 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true);
216 OverlayPanel highPriorityPanel = 241 OverlayPanel highPriorityPanel =
217 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false); 242 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false);
218 243
219 // Only one panel is showing, should be medium priority. 244 // Only one panel is showing, should be medium priority.
220 mediumPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 245 mediumPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
221 assertEquals(panelManager.getActivePanel(), mediumPriorityPanel); 246 Assert.assertEquals(panelManager.getActivePanel(), mediumPriorityPanel);
222 247
223 // High priority should have taken preciedence. 248 // High priority should have taken preciedence.
224 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 249 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
225 assertEquals(panelManager.getActivePanel(), highPriorityPanel); 250 Assert.assertEquals(panelManager.getActivePanel(), highPriorityPanel);
226 251
227 // Low priority will be suppressed; high priority should still be showin g. 252 // Low priority will be suppressed; high priority should still be showin g.
228 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 253 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
229 assertEquals(panelManager.getActivePanel(), highPriorityPanel); 254 Assert.assertEquals(panelManager.getActivePanel(), highPriorityPanel);
230 255
231 // Start closing panels. 256 // Start closing panels.
232 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 257 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
233 258
234 // After high priority is closed, the medium priority panel should be vi sible. 259 // After high priority is closed, the medium priority panel should be vi sible.
235 assertEquals(panelManager.getActivePanel(), mediumPriorityPanel); 260 Assert.assertEquals(panelManager.getActivePanel(), mediumPriorityPanel);
236 mediumPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 261 mediumPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
237 262
238 // Finally the low priority panel should be showing. 263 // Finally the low priority panel should be showing.
239 assertEquals(panelManager.getActivePanel(), lowPriorityPanel); 264 Assert.assertEquals(panelManager.getActivePanel(), lowPriorityPanel);
240 lowPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 265 lowPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
241 266
242 // All panels are closed now. 267 // All panels are closed now.
243 assertEquals(null, panelManager.getActivePanel()); 268 Assert.assertEquals(null, panelManager.getActivePanel());
244 assertEquals(0, panelManager.getSuppressedQueueSize()); 269 Assert.assertEquals(0, panelManager.getSuppressedQueueSize());
245 } 270 }
246 271
272 @Test
247 @SmallTest 273 @SmallTest
248 @Feature({"OverlayPanel"}) 274 @Feature({"OverlayPanel"})
275 @UiThreadTest
249 public void testSuppressedPanelOrder() { 276 public void testSuppressedPanelOrder() {
250 Context context = getInstrumentation().getTargetContext(); 277 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
251 278
252 OverlayPanelManager panelManager = new OverlayPanelManager(); 279 OverlayPanelManager panelManager = new OverlayPanelManager();
253 OverlayPanel lowPriorityPanel = 280 OverlayPanel lowPriorityPanel =
254 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true); 281 new MockOverlayPanel(context, null, panelManager, PanelPriority. LOW, true);
255 OverlayPanel mediumPriorityPanel = 282 OverlayPanel mediumPriorityPanel =
256 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true); 283 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true);
257 OverlayPanel highPriorityPanel = 284 OverlayPanel highPriorityPanel =
258 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false); 285 new MockOverlayPanel(context, null, panelManager, PanelPriority. HIGH, false);
259 286
260 // Odd ordering for showing panels should still produce ordered suppress ion. 287 // Odd ordering for showing panels should still produce ordered suppress ion.
261 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 288 highPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
262 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 289 lowPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
263 mediumPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN); 290 mediumPriorityPanel.requestPanelShow(StateChangeReason.UNKNOWN);
264 291
265 assertEquals(2, panelManager.getSuppressedQueueSize()); 292 Assert.assertEquals(2, panelManager.getSuppressedQueueSize());
266 293
267 // Start closing panels. 294 // Start closing panels.
268 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 295 highPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
269 296
270 // After high priority is closed, the medium priority panel should be vi sible. 297 // After high priority is closed, the medium priority panel should be vi sible.
271 assertEquals(panelManager.getActivePanel(), mediumPriorityPanel); 298 Assert.assertEquals(panelManager.getActivePanel(), mediumPriorityPanel);
272 mediumPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 299 mediumPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
273 300
274 // Finally the low priority panel should be showing. 301 // Finally the low priority panel should be showing.
275 assertEquals(panelManager.getActivePanel(), lowPriorityPanel); 302 Assert.assertEquals(panelManager.getActivePanel(), lowPriorityPanel);
276 lowPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false); 303 lowPriorityPanel.closePanel(StateChangeReason.UNKNOWN, false);
277 304
278 // All panels are closed now. 305 // All panels are closed now.
279 assertTrue(panelManager.getActivePanel() == null); 306 Assert.assertTrue(panelManager.getActivePanel() == null);
280 assertEquals(0, panelManager.getSuppressedQueueSize()); 307 Assert.assertEquals(0, panelManager.getSuppressedQueueSize());
281 } 308 }
282 309
310 @Test
283 @SmallTest 311 @SmallTest
284 @Feature({"OverlayPanel"}) 312 @Feature({"OverlayPanel"})
313 @UiThreadTest
285 public void testLatePanelGetsNecessaryVars() { 314 public void testLatePanelGetsNecessaryVars() {
286 Context context = getInstrumentation().getTargetContext(); 315 Context context = InstrumentationRegistry.getInstrumentation().getTarget Context();
287 316
288 OverlayPanelManager panelManager = new OverlayPanelManager(); 317 OverlayPanelManager panelManager = new OverlayPanelManager();
289 MockOverlayPanel earlyPanel = 318 MockOverlayPanel earlyPanel =
290 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true); 319 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true);
291 320
292 // Set necessary vars before any other panels are registered in the mana ger. 321 // Set necessary vars before any other panels are registered in the mana ger.
293 panelManager.setContainerView(new LinearLayout(getInstrumentation().getT argetContext())); 322 panelManager.setContainerView(
323 new LinearLayout(InstrumentationRegistry.getInstrumentation().ge tTargetContext()));
294 panelManager.setDynamicResourceLoader(new DynamicResourceLoader(0, null) ); 324 panelManager.setDynamicResourceLoader(new DynamicResourceLoader(0, null) );
295 325
296 MockOverlayPanel latePanel = 326 MockOverlayPanel latePanel =
297 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true); 327 new MockOverlayPanel(context, null, panelManager, PanelPriority. MEDIUM, true);
298 328
299 assertTrue(earlyPanel.getContainerView() == latePanel.getContainerView() ); 329 Assert.assertTrue(earlyPanel.getContainerView() == latePanel.getContaine rView());
300 assertTrue(earlyPanel.getDynamicResourceLoader() == latePanel.getDynamic ResourceLoader()); 330 Assert.assertTrue(
331 earlyPanel.getDynamicResourceLoader() == latePanel.getDynamicRes ourceLoader());
301 } 332 }
302 } 333 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698