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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManagerTest.java

Issue 2766373004: Convert the rest of chrome_public_test_apk InstrumentationTestCases to JUnit4 (Closed)
Patch Set: nits and rebase Created 3 years, 8 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.dom_distiller; 5 package org.chromium.chrome.browser.dom_distiller;
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;
12
13 import org.junit.Assert;
14 import org.junit.Before;
15 import org.junit.Rule;
16 import org.junit.Test;
17 import org.junit.runner.RunWith;
10 18
11 import org.chromium.base.test.util.Feature; 19 import org.chromium.base.test.util.Feature;
12 import org.chromium.base.test.util.RetryOnFailure; 20 import org.chromium.base.test.util.RetryOnFailure;
13 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChange Reason; 21 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChange Reason;
14 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelContent; 22 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelContent;
15 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager; 23 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager;
16 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManagerWrapp er; 24 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManagerWrapp er;
17 import org.chromium.chrome.browser.compositor.bottombar.readermode.ReaderModeBar Control; 25 import org.chromium.chrome.browser.compositor.bottombar.readermode.ReaderModeBar Control;
18 import org.chromium.chrome.browser.compositor.bottombar.readermode.ReaderModePan el; 26 import org.chromium.chrome.browser.compositor.bottombar.readermode.ReaderModePan el;
19 import org.chromium.chrome.browser.compositor.scene_layer.ReaderModeSceneLayer; 27 import org.chromium.chrome.browser.compositor.scene_layer.ReaderModeSceneLayer;
20 import org.chromium.chrome.browser.tab.Tab; 28 import org.chromium.chrome.browser.tab.Tab;
29 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
21 import org.chromium.chrome.test.util.browser.tabmodel.MockTabModel.MockTabModelD elegate; 30 import org.chromium.chrome.test.util.browser.tabmodel.MockTabModel.MockTabModelD elegate;
22 import org.chromium.chrome.test.util.browser.tabmodel.MockTabModelSelector; 31 import org.chromium.chrome.test.util.browser.tabmodel.MockTabModelSelector;
23 import org.chromium.content_public.browser.WebContents; 32 import org.chromium.content_public.browser.WebContents;
24 import org.chromium.content_public.browser.WebContentsObserver; 33 import org.chromium.content_public.browser.WebContentsObserver;
25 34
26 /** 35 /**
27 * Tests logic in the ReaderModeManager. 36 * Tests logic in the ReaderModeManager.
28 */ 37 */
29 public class ReaderModeManagerTest extends InstrumentationTestCase { 38 @RunWith(ChromeJUnit4ClassRunner.class)
30 39 public class ReaderModeManagerTest {
31 OverlayPanelManagerWrapper mPanelManager; 40 OverlayPanelManagerWrapper mPanelManager;
32 ReaderModeManagerWrapper mReaderManager; 41 ReaderModeManagerWrapper mReaderManager;
33 MockReaderModePanel mPanel; 42 MockReaderModePanel mPanel;
34 ReaderModeMockTabModelSelector mTabModelSelector; 43 ReaderModeMockTabModelSelector mTabModelSelector;
35 44
45 @Rule
46 public UiThreadTestRule mRule = new UiThreadTestRule();
47
36 /** 48 /**
37 * A mock TabModelSelector for creating tabs. 49 * A mock TabModelSelector for creating tabs.
38 */ 50 */
39 private static class ReaderModeMockTabModelSelector extends MockTabModelSele ctor { 51 private static class ReaderModeMockTabModelSelector extends MockTabModelSele ctor {
40 public ReaderModeMockTabModelSelector() { 52 public ReaderModeMockTabModelSelector() {
41 super(2, 0, 53 super(2, 0,
42 new MockTabModelDelegate() { 54 new MockTabModelDelegate() {
43 @Override 55 @Override
44 public Tab createTab(int id, boolean incognito) { 56 public Tab createTab(int id, boolean incognito) {
45 return new Tab(id, incognito, null); 57 return new Tab(id, incognito, null);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 private static class MockOverlayPanelContent extends OverlayPanelContent { 171 private static class MockOverlayPanelContent extends OverlayPanelContent {
160 public MockOverlayPanelContent() { 172 public MockOverlayPanelContent() {
161 super(null, null, null); 173 super(null, null, null);
162 } 174 }
163 175
164 @Override 176 @Override
165 public void removeLastHistoryEntry(String url, long timeInMs) {} 177 public void removeLastHistoryEntry(String url, long timeInMs) {}
166 } 178 }
167 } 179 }
168 180
169 @Override 181 @Before
170 protected void setUp() throws Exception { 182 public void setUp() throws Exception {
171 super.setUp();
172 mPanelManager = new OverlayPanelManagerWrapper(); 183 mPanelManager = new OverlayPanelManagerWrapper();
173 mTabModelSelector = new ReaderModeMockTabModelSelector(); 184 mTabModelSelector = new ReaderModeMockTabModelSelector();
174 mReaderManager = new ReaderModeManagerWrapper(mTabModelSelector); 185 mReaderManager = new ReaderModeManagerWrapper(mTabModelSelector);
175 mPanel = new MockReaderModePanel(getInstrumentation().getTargetContext() , mPanelManager); 186 mPanel = new MockReaderModePanel(
187 InstrumentationRegistry.getInstrumentation().getTargetContext(), mPanelManager);
176 mReaderManager.setReaderModePanel(mPanel); 188 mReaderManager.setReaderModePanel(mPanel);
177 mPanel.setManagerDelegate(mReaderManager); 189 mPanel.setManagerDelegate(mReaderManager);
178 } 190 }
179 191
180 // Start ReaderModeManager test suite. 192 // Start ReaderModeManager test suite.
181 193
182 /** 194 /**
183 * Tests that the panel behaves appropriately with infobar events. 195 * Tests that the panel behaves appropriately with infobar events.
184 */ 196 */
197 @Test
185 @SmallTest 198 @SmallTest
186 @Feature({"ReaderModeManager"}) 199 @Feature({"ReaderModeManager"})
200 @UiThreadTest
187 @RetryOnFailure 201 @RetryOnFailure
188 public void testInfoBarEvents() { 202 public void testInfoBarEvents() {
189 mPanel.requestPanelShow(StateChangeReason.UNKNOWN); 203 mPanel.requestPanelShow(StateChangeReason.UNKNOWN);
190 204
191 mReaderManager.onAddInfoBar(null, null, true); 205 mReaderManager.onAddInfoBar(null, null, true);
192 assertEquals(1, mPanelManager.getRequestPanelShowCount()); 206 Assert.assertEquals(1, mPanelManager.getRequestPanelShowCount());
193 assertEquals(1, mPanelManager.getPanelHideCount()); 207 Assert.assertEquals(1, mPanelManager.getPanelHideCount());
194 208
195 mReaderManager.onRemoveInfoBar(null, null, true); 209 mReaderManager.onRemoveInfoBar(null, null, true);
196 assertEquals(2, mPanelManager.getRequestPanelShowCount()); 210 Assert.assertEquals(2, mPanelManager.getRequestPanelShowCount());
197 assertEquals(1, mPanelManager.getPanelHideCount()); 211 Assert.assertEquals(1, mPanelManager.getPanelHideCount());
198 } 212 }
199 213
200 /** 214 /**
201 * Tests that the panel behaves appropriately with fullscreen events. 215 * Tests that the panel behaves appropriately with fullscreen events.
202 */ 216 */
217 @Test
203 @SmallTest 218 @SmallTest
204 @Feature({"ReaderModeManager"}) 219 @Feature({"ReaderModeManager"})
220 @UiThreadTest
205 @RetryOnFailure 221 @RetryOnFailure
206 public void testFullscreenEvents() { 222 public void testFullscreenEvents() {
207 mPanel.requestPanelShow(StateChangeReason.UNKNOWN); 223 mPanel.requestPanelShow(StateChangeReason.UNKNOWN);
208 224
209 mReaderManager.onToggleFullscreenMode(null, true); 225 mReaderManager.onToggleFullscreenMode(null, true);
210 assertEquals(1, mPanelManager.getRequestPanelShowCount()); 226 Assert.assertEquals(1, mPanelManager.getRequestPanelShowCount());
211 assertEquals(1, mPanelManager.getPanelHideCount()); 227 Assert.assertEquals(1, mPanelManager.getPanelHideCount());
212 228
213 mReaderManager.onToggleFullscreenMode(null, false); 229 mReaderManager.onToggleFullscreenMode(null, false);
214 assertEquals(2, mPanelManager.getRequestPanelShowCount()); 230 Assert.assertEquals(2, mPanelManager.getRequestPanelShowCount());
215 assertEquals(1, mPanelManager.getPanelHideCount()); 231 Assert.assertEquals(1, mPanelManager.getPanelHideCount());
216 } 232 }
217 233
218 /** 234 /**
219 * Tests that the metric that tracks when the panel is visible is correctly recorded. 235 * Tests that the metric that tracks when the panel is visible is correctly recorded.
220 */ 236 */
237 @Test
221 @SmallTest 238 @SmallTest
222 @Feature({"ReaderModeManager"}) 239 @Feature({"ReaderModeManager"})
240 @UiThreadTest
223 @RetryOnFailure 241 @RetryOnFailure
224 public void testPanelOpenRecorded() { 242 public void testPanelOpenRecorded() {
225 Tab tab = new Tab(0, false, null); 243 Tab tab = new Tab(0, false, null);
226 mReaderManager.onShown(tab); 244 mReaderManager.onShown(tab);
227 245
228 assertEquals(1, mReaderManager.getRecordedCount()); 246 Assert.assertEquals(1, mReaderManager.getRecordedCount());
229 assertEquals(1, mReaderManager.getVisibleCount()); 247 Assert.assertEquals(1, mReaderManager.getVisibleCount());
230 assertTrue(null != mReaderManager.getTabInfo(0)); 248 Assert.assertTrue(null != mReaderManager.getTabInfo(0));
231 249
232 // Make sure recording the panel showing only occurs once per navigation . 250 // Make sure recording the panel showing only occurs once per navigation .
233 mReaderManager.onShown(tab); 251 mReaderManager.onShown(tab);
234 252
235 assertEquals(1, mReaderManager.getRecordedCount()); 253 Assert.assertEquals(1, mReaderManager.getRecordedCount());
236 assertEquals(1, mReaderManager.getVisibleCount()); 254 Assert.assertEquals(1, mReaderManager.getVisibleCount());
237 255
238 // Destroy shouldn't record either if the panel showed. 256 // Destroy shouldn't record either if the panel showed.
239 mReaderManager.onDestroyed(tab); 257 mReaderManager.onDestroyed(tab);
240 258
241 assertEquals(1, mReaderManager.getRecordedCount()); 259 Assert.assertEquals(1, mReaderManager.getRecordedCount());
242 assertEquals(1, mReaderManager.getVisibleCount()); 260 Assert.assertEquals(1, mReaderManager.getVisibleCount());
243 assertTrue(null == mReaderManager.getTabInfo(0)); 261 Assert.assertTrue(null == mReaderManager.getTabInfo(0));
244 } 262 }
245 263
246 /** 264 /**
247 * Tests that a tab closing records the panel was not visible. 265 * Tests that a tab closing records the panel was not visible.
248 */ 266 */
267 @Test
249 @SmallTest 268 @SmallTest
250 @Feature({"ReaderModeManager"}) 269 @Feature({"ReaderModeManager"})
270 @UiThreadTest
251 @RetryOnFailure 271 @RetryOnFailure
252 public void testPanelCloseRecorded() { 272 public void testPanelCloseRecorded() {
253 Tab tab = new Tab(0, false, null); 273 Tab tab = new Tab(0, false, null);
254 mReaderManager.setShouldTrigger(false); 274 mReaderManager.setShouldTrigger(false);
255 mReaderManager.onShown(tab); 275 mReaderManager.onShown(tab);
256 mReaderManager.onDestroyed(tab); 276 mReaderManager.onDestroyed(tab);
257 277
258 assertEquals(1, mReaderManager.getRecordedCount()); 278 Assert.assertEquals(1, mReaderManager.getRecordedCount());
259 assertEquals(0, mReaderManager.getVisibleCount()); 279 Assert.assertEquals(0, mReaderManager.getVisibleCount());
260 assertTrue(null == mReaderManager.getTabInfo(0)); 280 Assert.assertTrue(null == mReaderManager.getTabInfo(0));
261 } 281 }
262 282
263 // TODO(mdjones): Test add/remove infobar while fullscreen is enabled. 283 // TODO(mdjones): Test add/remove infobar while fullscreen is enabled.
264 // TODO(mdjones): Test onclosebuttonpressed disables Reader Mode for a parti cular tab. 284 // TODO(mdjones): Test onclosebuttonpressed disables Reader Mode for a parti cular tab.
265 // TODO(mdjones): Test onorientationchanged closes and re-opens panel. 285 // TODO(mdjones): Test onorientationchanged closes and re-opens panel.
266 // TODO(mdjones): Test tab events. 286 // TODO(mdjones): Test tab events.
267 // TODO(mdjones): Test distillability callback. 287 // TODO(mdjones): Test distillability callback.
268 } 288 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698