/* Bug http://crbug/415711 */ @MediumTest @Feature({"Downloads"}) public void testDuplicateHttpPostDownload_Overwrite() throws Exception { // Download a file. loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/download/post.html")); waitForFocus(); View currentView = getActivity().getActivityTab().getView(); singleClickView(currentView); assertTrue( "Failed to finish downloading file for the first time.", waitForChromeDownloadToFinish()); // Download a file with the same name. loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/download/post.html")); waitForFocus(); currentView = getActivity().getActivityTab().getView(); singleClickView(currentView); assertPollForInfoBarSize(1); assertTrue( "OVERWRITE button wasn't found", InfoBarUtil.clickPrimaryButton(getInfoBars().get(0))); assertTrue( "Failed to finish downloading file for the second time.", waitForChromeDownloadToFinish()); assertTrue("Missing first download", hasDownload("superbo.txt", SUPERBO_CONTENTS)); assertFalse( "Should not have second download", hasDownload("superbo (1).txt", SUPERBO_CONTENTS)); }
/** Bug http://crbug/286315 @MediumTest @Feature({"Downloads"}) */ @FlakyTest public void testDangerousDownload() throws Exception { loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/download/dangerous.html")); waitForFocus(); View currentView = getActivity().getActivityTab().getView(); singleClickView(currentView); assertPollForInfoBarSize(1); assertTrue("OK button wasn't found", InfoBarUtil.clickPrimaryButton(getInfoBars().get(0))); assertTrue(waitForGetDownloadToFinish()); checkLastDownload("test.apk"); }
/** Verify PopUp InfoBar. */ @Smoke @MediumTest @Feature({"Browser", "Main"}) public void testInfoBarForPopUp() throws InterruptedException { loadUrl(mTestServer.getURL(POPUP_PAGE)); assertTrue("InfoBar not added", mListener.addInfoBarAnimationFinished()); List<InfoBar> infoBars = getInfoBars(); assertEquals("Wrong infobar count", 1, infoBars.size()); assertTrue(InfoBarUtil.hasPrimaryButton(infoBars.get(0))); assertFalse(InfoBarUtil.hasSecondaryButton(infoBars.get(0))); InfoBarUtil.clickPrimaryButton(infoBars.get(0)); assertTrue("InfoBar not removed.", mListener.removeInfoBarAnimationFinished()); assertEquals("Wrong infobar count", 0, infoBars.size()); // A second load should not show the infobar. loadUrl(mTestServer.getURL(POPUP_PAGE)); assertFalse("InfoBar added when it should not", mListener.addInfoBarAnimationFinished()); }
/* Bug http://crbug/481758 */ @CommandLineFlags.Add(ChromeSwitches.DISABLE_DOCUMENT_MODE) @MediumTest @Feature({"Downloads"}) public void testDuplicateHttpPostDownload_OpenNewTabAndReplace() throws Exception { final String url = TestHttpServerClient.getUrl("chrome/test/data/android/download/get.html"); // Create the file in advance so that duplicate download infobar can show up. File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); assertTrue(dir.isDirectory()); final File file = new File(dir, "test.gzip"); if (!file.exists()) { assertTrue(file.createNewFile()); } // Open in a new tab again. loadUrl(url); waitForFocus(); View currentView = getActivity().getActivityTab().getView(); TouchCommon.longPressView(currentView); getInstrumentation() .invokeContextMenuAction(getActivity(), R.id.contextmenu_open_in_new_tab, 0); waitForNewTabToStabilize(2); goToLastTab(); assertPollForInfoBarSize(1); // Now create two new files by clicking on the infobars. assertTrue( "OVERWRITE button wasn't found", InfoBarUtil.clickPrimaryButton(getInfoBars().get(0))); // Try to wait for download to finish. This will fail if there is no external Internet // connection. Android's DownloadManager will abort download request when there is // no Internet connection, even though we are connecting to a local host. waitForGetDownloadToFinish(); }