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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadTest.java

Issue 2341643008: Defaulting all downloads to go through Chrome network stack (Closed)
Patch Set: rebase Created 4 years, 3 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.download; 5 package org.chromium.chrome.browser.download;
6 6
7 import android.os.Environment; 7 import android.os.Environment;
8 import android.test.suitebuilder.annotation.MediumTest; 8 import android.test.suitebuilder.annotation.MediumTest;
9 import android.view.View; 9 import android.view.View;
10 10
(...skipping 27 matching lines...) Expand all
38 "plain text response from a POST"; 38 "plain text response from a POST";
39 39
40 private EmbeddedTestServer mTestServer; 40 private EmbeddedTestServer mTestServer;
41 41
42 private static final String TEST_DOWNLOAD_DIRECTORY = "/chrome/test/data/and roid/download/"; 42 private static final String TEST_DOWNLOAD_DIRECTORY = "/chrome/test/data/and roid/download/";
43 43
44 private static final String FILENAME_WALLPAPER = "[large]wallpaper.dm"; 44 private static final String FILENAME_WALLPAPER = "[large]wallpaper.dm";
45 private static final String FILENAME_TEXT = "superbo.txt"; 45 private static final String FILENAME_TEXT = "superbo.txt";
46 private static final String FILENAME_TEXT_1 = "superbo (1).txt"; 46 private static final String FILENAME_TEXT_1 = "superbo (1).txt";
47 private static final String FILENAME_TEXT_2 = "superbo (2).txt"; 47 private static final String FILENAME_TEXT_2 = "superbo (2).txt";
48 private static final String FILENAME_APK = "test.apk"; 48 private static final String FILENAME_SWF = "test.swf";
49 private static final String FILENAME_GZIP = "test.gzip"; 49 private static final String FILENAME_GZIP = "test.gzip";
50 50
51 private static final String[] TEST_FILES = new String[] { 51 private static final String[] TEST_FILES = new String[] {
52 FILENAME_WALLPAPER, FILENAME_TEXT, FILENAME_TEXT_1, FILENAME_TEXT_2, FIL ENAME_APK, 52 FILENAME_WALLPAPER, FILENAME_TEXT, FILENAME_TEXT_1, FILENAME_TEXT_2, FIL ENAME_SWF,
53 FILENAME_GZIP 53 FILENAME_GZIP
54 }; 54 };
55 55
56 @Override 56 @Override
57 protected void setUp() throws Exception { 57 protected void setUp() throws Exception {
58 super.setUp(); 58 super.setUp();
59 deleteTestFiles(); 59 deleteTestFiles();
60 mTestServer = EmbeddedTestServer.createAndStartFileServer( 60 mTestServer = EmbeddedTestServer.createAndStartFileServer(
61 getInstrumentation().getContext(), Environment.getExternalStorag eDirectory()); 61 getInstrumentation().getContext(), Environment.getExternalStorag eDirectory());
62 } 62 }
(...skipping 11 matching lines...) Expand all
74 } 74 }
75 75
76 @MediumTest 76 @MediumTest
77 @Feature({"Downloads"}) 77 @Feature({"Downloads"})
78 @RetryOnFailure 78 @RetryOnFailure
79 public void testHttpGetDownload() throws Exception { 79 public void testHttpGetDownload() throws Exception {
80 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "get.html")); 80 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "get.html"));
81 waitForFocus(); 81 waitForFocus();
82 View currentView = getActivity().getActivityTab().getView(); 82 View currentView = getActivity().getActivityTab().getView();
83 83
84 EnqueueHttpGetDownloadCallbackHelper callbackHelper = getHttpGetDownload CallbackHelper(); 84 int callCount = getChromeDownloadCallCount();
85 int callCount = callbackHelper.getCallCount();
86 singleClickView(currentView); 85 singleClickView(currentView);
87 callbackHelper.waitForCallback(callCount); 86 assertTrue(waitForChromeDownloadToFinish(callCount));
88 87 assertTrue(hasDownload(FILENAME_GZIP, null));
89 assertEquals(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + FILENAME_GZIP) ,
90 callbackHelper.getDownloadInfo().getUrl());
91 } 88 }
92 89
93 @MediumTest 90 @MediumTest
94 @Feature({"Downloads"}) 91 @Feature({"Downloads"})
95 @RetryOnFailure 92 @RetryOnFailure
96 public void testDangerousDownload() throws Exception { 93 public void testDangerousDownload() throws Exception {
97 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "dangerous.html")); 94 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "dangerous.html"));
98 waitForFocus(); 95 waitForFocus();
99 View currentView = getActivity().getActivityTab().getView(); 96 View currentView = getActivity().getActivityTab().getView();
100 singleClickView(currentView); 97 singleClickView(currentView);
101 assertPollForInfoBarSize(1); 98 assertPollForInfoBarSize(1);
102
103 EnqueueHttpGetDownloadCallbackHelper callbackHelper = getHttpGetDownload CallbackHelper();
104 int callCount = callbackHelper.getCallCount();
105 assertTrue("OK button wasn't found", InfoBarUtil.clickPrimaryButton(getI nfoBars().get(0))); 99 assertTrue("OK button wasn't found", InfoBarUtil.clickPrimaryButton(getI nfoBars().get(0)));
106 callbackHelper.waitForCallback(callCount); 100 int callCount = getChromeDownloadCallCount();
107 assertEquals(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + FILENAME_APK), 101 assertTrue(waitForChromeDownloadToFinish(callCount));
108 callbackHelper.getDownloadInfo().getUrl()); 102 assertTrue(hasDownload(FILENAME_SWF, null));
109 } 103 }
110 104
111 @MediumTest 105 @MediumTest
112 @Feature({"Downloads"}) 106 @Feature({"Downloads"})
113 @RetryOnFailure 107 @RetryOnFailure
114 public void testDangerousDownloadCancel() throws Exception { 108 public void testDangerousDownloadCancel() throws Exception {
115 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "dangerous.html")); 109 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "dangerous.html"));
116 waitForFocus(); 110 waitForFocus();
117 View currentView = getActivity().getActivityTab().getView(); 111 View currentView = getActivity().getActivityTab().getView();
118 TouchCommon.longPressView(currentView); 112 TouchCommon.longPressView(currentView);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 @MediumTest 149 @MediumTest
156 @Feature({"Downloads"}) 150 @Feature({"Downloads"})
157 @DisabledTest(message = "crbug.com/286315") 151 @DisabledTest(message = "crbug.com/286315")
158 public void testCloseEmptyDownloadTab() throws Exception { 152 public void testCloseEmptyDownloadTab() throws Exception {
159 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "get.html")); 153 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "get.html"));
160 waitForFocus(); 154 waitForFocus();
161 final int initialTabCount = getActivity().getCurrentTabModel().getCount( ); 155 final int initialTabCount = getActivity().getCurrentTabModel().getCount( );
162 View currentView = getActivity().getActivityTab().getView(); 156 View currentView = getActivity().getActivityTab().getView();
163 TouchCommon.longPressView(currentView); 157 TouchCommon.longPressView(currentView);
164 158
165 EnqueueHttpGetDownloadCallbackHelper callbackHelper = getHttpGetDownload CallbackHelper(); 159 int callCount = getChromeDownloadCallCount();
166 int callCount = callbackHelper.getCallCount();
167 getInstrumentation().invokeContextMenuAction(getActivity(), 160 getInstrumentation().invokeContextMenuAction(getActivity(),
168 R.id.contextmenu_open_in_new_tab, 0); 161 R.id.contextmenu_open_in_new_tab, 0);
169 callbackHelper.waitForCallback(callCount); 162 assertTrue(waitForChromeDownloadToFinish(callCount));
170 assertEquals(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + FILENAME_GZIP) , 163 assertTrue(hasDownload(FILENAME_GZIP, null));
171 callbackHelper.getDownloadInfo().getUrl());
172 164
173 CriteriaHelper.pollUiThread( 165 CriteriaHelper.pollUiThread(
174 Criteria.equals(initialTabCount, new Callable<Integer>() { 166 Criteria.equals(initialTabCount, new Callable<Integer>() {
175 @Override 167 @Override
176 public Integer call() { 168 public Integer call() {
177 return getActivity().getCurrentTabModel().getCount(); 169 return getActivity().getCurrentTabModel().getCount();
178 } 170 }
179 })); 171 }));
180 } 172 }
181 173
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 } 398 }
407 399
408 @MediumTest 400 @MediumTest
409 @Feature({"Downloads"}) 401 @Feature({"Downloads"})
410 @RetryOnFailure 402 @RetryOnFailure
411 public void testUrlEscaping() throws Exception { 403 public void testUrlEscaping() throws Exception {
412 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "urlescaping.html") ); 404 loadUrl(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + "urlescaping.html") );
413 waitForFocus(); 405 waitForFocus();
414 View currentView = getActivity().getActivityTab().getView(); 406 View currentView = getActivity().getActivityTab().getView();
415 407
416 EnqueueHttpGetDownloadCallbackHelper callbackHelper = getHttpGetDownload CallbackHelper(); 408 int callCount = getChromeDownloadCallCount();
417 int callCount = callbackHelper.getCallCount();
418 singleClickView(currentView); 409 singleClickView(currentView);
419 callbackHelper.waitForCallback(callCount); 410 assertTrue(waitForChromeDownloadToFinish(callCount));
420 assertEquals(mTestServer.getURL(TEST_DOWNLOAD_DIRECTORY + FILENAME_WALLP APER), 411 assertTrue(hasDownload(FILENAME_WALLPAPER, null));
421 callbackHelper.getDownloadInfo().getUrl());
422 } 412 }
423 413
424 private void waitForFocus() { 414 private void waitForFocus() {
425 View currentView = getActivity().getActivityTab().getView(); 415 View currentView = getActivity().getActivityTab().getView();
426 if (!currentView.hasFocus()) { 416 if (!currentView.hasFocus()) {
427 singleClickView(currentView); 417 singleClickView(currentView);
428 } 418 }
429 getInstrumentation().waitForIdleSync(); 419 getInstrumentation().waitForIdleSync();
430 } 420 }
431 421
(...skipping 15 matching lines...) Expand all
447 } 437 }
448 438
449 /** 439 /**
450 * Makes sure there are no files with names identical to the ones this test uses in the 440 * Makes sure there are no files with names identical to the ones this test uses in the
451 * downloads directory 441 * downloads directory
452 */ 442 */
453 private void deleteTestFiles() { 443 private void deleteTestFiles() {
454 deleteFilesInDownloadDirectory(TEST_FILES); 444 deleteFilesInDownloadDirectory(TEST_FILES);
455 } 445 }
456 } 446 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698