OLD | NEW |
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.ntp; | 5 package org.chromium.chrome.browser.ntp; |
6 | 6 |
7 import android.graphics.Canvas; | 7 import android.graphics.Canvas; |
8 import android.support.test.filters.LargeTest; | 8 import android.support.test.filters.LargeTest; |
9 import android.support.test.filters.MediumTest; | 9 import android.support.test.filters.MediumTest; |
10 import android.support.test.filters.SmallTest; | 10 import android.support.test.filters.SmallTest; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 | 56 |
57 private static final String TEST_PAGE = "/chrome/test/data/android/navigate/
simple.html"; | 57 private static final String TEST_PAGE = "/chrome/test/data/android/navigate/
simple.html"; |
58 | 58 |
59 private static final String[] FAKE_MOST_VISITED_TITLES = new String[] { "Sim
ple" }; | 59 private static final String[] FAKE_MOST_VISITED_TITLES = new String[] { "Sim
ple" }; |
60 private static final String[] FAKE_MOST_VISITED_WHITELIST_ICON_PATHS = new S
tring[] { "" }; | 60 private static final String[] FAKE_MOST_VISITED_WHITELIST_ICON_PATHS = new S
tring[] { "" }; |
61 private static final int[] FAKE_MOST_VISITED_SOURCES = new int[] {NTPTileSou
rce.TOP_SITES}; | 61 private static final int[] FAKE_MOST_VISITED_SOURCES = new int[] {NTPTileSou
rce.TOP_SITES}; |
62 | 62 |
63 private Tab mTab; | 63 private Tab mTab; |
64 private NewTabPage mNtp; | 64 private NewTabPage mNtp; |
65 private View mFakebox; | 65 private View mFakebox; |
66 private ViewGroup mMostVisitedLayout; | 66 private ViewGroup mTileGridLayout; |
67 private String[] mFakeMostVisitedUrls; | 67 private String[] mFakeMostVisitedUrls; |
68 private FakeMostVisitedSites mFakeMostVisitedSites; | 68 private FakeMostVisitedSites mFakeMostVisitedSites; |
69 private EmbeddedTestServer mTestServer; | 69 private EmbeddedTestServer mTestServer; |
70 | 70 |
71 @Override | 71 @Override |
72 protected void setUp() throws Exception { | 72 protected void setUp() throws Exception { |
73 mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation
().getContext()); | 73 mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation
().getContext()); |
74 mFakeMostVisitedUrls = new String[] {mTestServer.getURL(TEST_PAGE)}; | 74 mFakeMostVisitedUrls = new String[] {mTestServer.getURL(TEST_PAGE)}; |
75 super.setUp(); | 75 super.setUp(); |
76 } | 76 } |
(...skipping 24 matching lines...) Expand all Loading... |
101 fail(t.getMessage()); | 101 fail(t.getMessage()); |
102 } | 102 } |
103 TileGroupDelegateImpl.setMostVisitedSitesForTests(mFakeMostVisitedSites)
; | 103 TileGroupDelegateImpl.setMostVisitedSitesForTests(mFakeMostVisitedSites)
; |
104 | 104 |
105 loadUrl(UrlConstants.NTP_URL); | 105 loadUrl(UrlConstants.NTP_URL); |
106 NewTabPageTestUtils.waitForNtpLoaded(mTab); | 106 NewTabPageTestUtils.waitForNtpLoaded(mTab); |
107 | 107 |
108 assertTrue(mTab.getNativePage() instanceof NewTabPage); | 108 assertTrue(mTab.getNativePage() instanceof NewTabPage); |
109 mNtp = (NewTabPage) mTab.getNativePage(); | 109 mNtp = (NewTabPage) mTab.getNativePage(); |
110 mFakebox = mNtp.getView().findViewById(R.id.search_box); | 110 mFakebox = mNtp.getView().findViewById(R.id.search_box); |
111 mMostVisitedLayout = (ViewGroup) mNtp.getView().findViewById(R.id.most_v
isited_layout); | 111 mTileGridLayout = (ViewGroup) mNtp.getView().findViewById(R.id.tile_grid
_layout); |
112 assertEquals(mFakeMostVisitedUrls.length, mMostVisitedLayout.getChildCou
nt()); | 112 assertEquals(mFakeMostVisitedUrls.length, mTileGridLayout.getChildCount(
)); |
113 } | 113 } |
114 | 114 |
115 @MediumTest | 115 @MediumTest |
116 @Feature({"NewTabPage", "RenderTest"}) | 116 @Feature({"NewTabPage", "RenderTest"}) |
117 @CommandLineFlags.Add("enable-features=NTPSnippets") | 117 @CommandLineFlags.Add("enable-features=NTPSnippets") |
118 public void testRender() throws IOException { | 118 public void testRender() throws IOException { |
119 ViewRenderer viewRenderer = new ViewRenderer(getActivity(), | 119 ViewRenderer viewRenderer = new ViewRenderer(getActivity(), |
120 "chrome/test/data/android/render_tests", "NewTabPageTest"); | 120 "chrome/test/data/android/render_tests", "NewTabPageTest"); |
121 viewRenderer.renderAndCompare(mMostVisitedLayout, "most_visited"); | 121 viewRenderer.renderAndCompare(mTileGridLayout, "most_visited"); |
122 viewRenderer.renderAndCompare(mFakebox, "fakebox"); | 122 viewRenderer.renderAndCompare(mFakebox, "fakebox"); |
123 viewRenderer.renderAndCompare(mNtp.getView().getRootView(), "new_tab_pag
e"); | 123 viewRenderer.renderAndCompare(mNtp.getView().getRootView(), "new_tab_pag
e"); |
124 | 124 |
125 // Scroll to search bar | 125 // Scroll to search bar |
126 final NewTabPageRecyclerView recyclerView = mNtp.getNewTabPageView().get
RecyclerView(); | 126 final NewTabPageRecyclerView recyclerView = mNtp.getNewTabPageView().get
RecyclerView(); |
127 | 127 |
128 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | 128 ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
129 @Override | 129 @Override |
130 public void run() { | 130 public void run() { |
131 recyclerView.smoothScrollBy(0, mFakebox.getTop()); | 131 recyclerView.smoothScrollBy(0, mFakebox.getTop()); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 | 227 |
228 /** | 228 /** |
229 * Tests clicking on a most visited item. | 229 * Tests clicking on a most visited item. |
230 */ | 230 */ |
231 @SmallTest | 231 @SmallTest |
232 @Feature({"NewTabPage"}) | 232 @Feature({"NewTabPage"}) |
233 public void testClickMostVisitedItem() throws InterruptedException { | 233 public void testClickMostVisitedItem() throws InterruptedException { |
234 ChromeTabUtils.waitForTabPageLoaded(mTab, new Runnable() { | 234 ChromeTabUtils.waitForTabPageLoaded(mTab, new Runnable() { |
235 @Override | 235 @Override |
236 public void run() { | 236 public void run() { |
237 View mostVisitedItem = mMostVisitedLayout.getChildAt(0); | 237 View mostVisitedItem = mTileGridLayout.getChildAt(0); |
238 singleClickView(mostVisitedItem); | 238 singleClickView(mostVisitedItem); |
239 } | 239 } |
240 }); | 240 }); |
241 assertEquals(mFakeMostVisitedUrls[0], mTab.getUrl()); | 241 assertEquals(mFakeMostVisitedUrls[0], mTab.getUrl()); |
242 } | 242 } |
243 | 243 |
244 /** | 244 /** |
245 * Tests opening a most visited item in a new tab. | 245 * Tests opening a most visited item in a new tab. |
246 */ | 246 */ |
247 @DisabledTest // Flaked on the try bot. http://crbug.com/543138 | 247 @DisabledTest // Flaked on the try bot. http://crbug.com/543138 |
248 @SmallTest | 248 @SmallTest |
249 @Feature({"NewTabPage"}) | 249 @Feature({"NewTabPage"}) |
250 public void testOpenMostVisitedItemInNewTab() throws InterruptedException { | 250 public void testOpenMostVisitedItemInNewTab() throws InterruptedException { |
251 invokeContextMenuAndOpenInANewTab(mMostVisitedLayout.getChildAt(0), | 251 invokeContextMenuAndOpenInANewTab(mTileGridLayout.getChildAt(0), |
252 ContextMenuManager.ID_OPEN_IN_NEW_TAB, false, mFakeMostVisitedUr
ls[0]); | 252 ContextMenuManager.ID_OPEN_IN_NEW_TAB, false, mFakeMostVisitedUr
ls[0]); |
253 } | 253 } |
254 | 254 |
255 /** | 255 /** |
256 * Tests opening a most visited item in a new incognito tab. | 256 * Tests opening a most visited item in a new incognito tab. |
257 */ | 257 */ |
258 @SmallTest | 258 @SmallTest |
259 @Feature({"NewTabPage"}) | 259 @Feature({"NewTabPage"}) |
260 public void testOpenMostVisitedItemInIncognitoTab() throws InterruptedExcept
ion { | 260 public void testOpenMostVisitedItemInIncognitoTab() throws InterruptedExcept
ion { |
261 invokeContextMenuAndOpenInANewTab(mMostVisitedLayout.getChildAt(0), | 261 invokeContextMenuAndOpenInANewTab(mTileGridLayout.getChildAt(0), |
262 ContextMenuManager.ID_OPEN_IN_INCOGNITO_TAB, true, mFakeMostVisi
tedUrls[0]); | 262 ContextMenuManager.ID_OPEN_IN_INCOGNITO_TAB, true, mFakeMostVisi
tedUrls[0]); |
263 } | 263 } |
264 | 264 |
265 /** | 265 /** |
266 * Tests deleting a most visited item. | 266 * Tests deleting a most visited item. |
267 */ | 267 */ |
268 @SmallTest | 268 @SmallTest |
269 @Feature({"NewTabPage"}) | 269 @Feature({"NewTabPage"}) |
270 public void testRemoveMostVisitedItem() { | 270 public void testRemoveMostVisitedItem() { |
271 View mostVisitedItem = mMostVisitedLayout.getChildAt(0); | 271 View mostVisitedItem = mTileGridLayout.getChildAt(0); |
272 ArrayList<View> views = new ArrayList<>(); | 272 ArrayList<View> views = new ArrayList<>(); |
273 mMostVisitedLayout.findViewsWithText(views, FAKE_MOST_VISITED_TITLES[0], | 273 mTileGridLayout.findViewsWithText( |
274 View.FIND_VIEWS_WITH_TEXT); | 274 views, FAKE_MOST_VISITED_TITLES[0], View.FIND_VIEWS_WITH_TEXT); |
275 assertEquals(1, views.size()); | 275 assertEquals(1, views.size()); |
276 | 276 |
277 TestTouchUtils.longClickView(getInstrumentation(), mostVisitedItem); | 277 TestTouchUtils.longClickView(getInstrumentation(), mostVisitedItem); |
278 assertTrue(getInstrumentation().invokeContextMenuAction( | 278 assertTrue(getInstrumentation().invokeContextMenuAction( |
279 getActivity(), ContextMenuManager.ID_REMOVE, 0)); | 279 getActivity(), ContextMenuManager.ID_REMOVE, 0)); |
280 | 280 |
281 assertTrue(mFakeMostVisitedSites.isUrlBlacklisted(mFakeMostVisitedUrls[0
])); | 281 assertTrue(mFakeMostVisitedSites.isUrlBlacklisted(mFakeMostVisitedUrls[0
])); |
282 } | 282 } |
283 | 283 |
284 @MediumTest | 284 @MediumTest |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 */ | 459 */ |
460 private void waitForFakeboxTopPosition(final NewTabPage ntp, int position) { | 460 private void waitForFakeboxTopPosition(final NewTabPage ntp, int position) { |
461 CriteriaHelper.pollUiThread(Criteria.equals(position, new Callable<Integ
er>() { | 461 CriteriaHelper.pollUiThread(Criteria.equals(position, new Callable<Integ
er>() { |
462 @Override | 462 @Override |
463 public Integer call() { | 463 public Integer call() { |
464 return getFakeboxTop(ntp); | 464 return getFakeboxTop(ntp); |
465 } | 465 } |
466 })); | 466 })); |
467 } | 467 } |
468 } | 468 } |
OLD | NEW |