Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java |
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java |
| index 3a94395b06bc52698451ae6b4abea4a2562f095a..d8478fa063b41091d19ef3bf87841f2f2aef5a58 100644 |
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java |
| @@ -16,8 +16,10 @@ import org.chromium.base.ThreadUtils; |
| import org.chromium.base.test.util.DisableIf; |
| import org.chromium.base.test.util.DisabledTest; |
| import org.chromium.base.test.util.Feature; |
| +import org.chromium.base.test.util.RenderTest; |
| import org.chromium.chrome.R; |
| import org.chromium.chrome.browser.UrlConstants; |
| +import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView; |
| import org.chromium.chrome.browser.omnibox.LocationBarLayout; |
| import org.chromium.chrome.browser.omnibox.UrlBar; |
| import org.chromium.chrome.browser.tab.EmptyTabObserver; |
| @@ -26,6 +28,7 @@ import org.chromium.chrome.test.ChromeTabbedActivityTestBase; |
| import org.chromium.chrome.test.util.ChromeTabUtils; |
| import org.chromium.chrome.test.util.NewTabPageTestUtils; |
| import org.chromium.chrome.test.util.OmniboxTestUtils; |
| +import org.chromium.chrome.test.util.RenderUtils.ViewRenderer; |
| import org.chromium.content.browser.test.util.CallbackHelper; |
| import org.chromium.content.browser.test.util.Criteria; |
| import org.chromium.content.browser.test.util.CriteriaHelper; |
| @@ -36,6 +39,7 @@ import org.chromium.net.test.EmbeddedTestServer; |
| import org.chromium.net.test.util.TestWebServer; |
| import org.chromium.ui.base.PageTransition; |
| +import java.io.IOException; |
| import java.util.ArrayList; |
| import java.util.concurrent.Callable; |
| import java.util.concurrent.Semaphore; |
| @@ -59,6 +63,35 @@ public class NewTabPageTest extends ChromeTabbedActivityTestBase { |
| private FakeMostVisitedSites mFakeMostVisitedSites; |
| private EmbeddedTestServer mTestServer; |
| + @RenderTest() |
| + @Feature({"NewTabPage"}) |
| + public void testRender() throws IOException, InterruptedException { |
| + ViewRenderer viewRenderer = new ViewRenderer(getActivity(), "NewTabPageTest"); |
| + viewRenderer.save(mMostVisitedLayout, "most_visited"); |
| + viewRenderer.save(mFakebox, "fakebox"); |
| + viewRenderer.save(mNtp.getView(), "new_tab_page"); |
| + |
| + // Scroll to search bar |
| + final NewTabPageRecyclerView recyclerView = (NewTabPageRecyclerView) |
| + mNtp.getNewTabPageView().findViewById(R.id.ntp_scrollview); |
| + |
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
| + @Override |
| + public void run() { |
| + recyclerView.smoothScrollBy(0, mFakebox.getTop()); |
| + } |
| + }); |
| + |
| + CriteriaHelper.pollUiThread(new Criteria(){ |
| + @Override |
| + public boolean isSatisfied() { |
| + return recyclerView.computeVerticalScrollOffset() == mFakebox.getTop(); |
| + } |
| + }); |
| + |
| + viewRenderer.save(mNtp.getView(), "new_tab_page_scrolled"); |
|
jbudorick
2016/07/01 15:34:21
The more I think about it, the more I think that w
PEConn
2016/07/01 16:46:13
OK, I can see the benefits of that - it requires m
jbudorick
2016/07/01 16:50:20
Also, if we do device-side comparison, I'm not sur
|
| + } |
| + |
| @Override |
| protected void setUp() throws Exception { |
| mTestServer = EmbeddedTestServer.createAndStartFileServer( |