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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectFileDialogTest.java

Issue 1139643006: Rename chrome/android/javatests to javatests_shell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectFileDialogTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectFileDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectFileDialogTest.java
deleted file mode 100644
index 3ddd7aee7126a71a239f37a73ccf26b4d2344b8d..0000000000000000000000000000000000000000
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectFileDialogTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.input;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Build;
-import android.provider.MediaStore;
-import android.test.suitebuilder.annotation.MediumTest;
-
-import org.chromium.base.ThreadUtils;
-import org.chromium.base.test.util.Feature;
-import org.chromium.base.test.util.UrlUtils;
-import org.chromium.chrome.shell.ChromeShellActivity;
-import org.chromium.chrome.shell.ChromeShellActivity.ActivityWindowAndroidFactory;
-import org.chromium.chrome.shell.ChromeShellTestBase;
-import org.chromium.content.browser.ContentViewCore;
-import org.chromium.content.browser.test.util.Criteria;
-import org.chromium.content.browser.test.util.CriteriaHelper;
-import org.chromium.content.browser.test.util.DOMUtils;
-import org.chromium.ui.base.ActivityWindowAndroid;
-
-/**
- * Integration test for select file dialog used for <input type="file" />
- */
-public class SelectFileDialogTest extends ChromeShellTestBase {
- private static final String DATA_URL = UrlUtils.encodeHtmlDataUri(
- "<html><head><meta name=\"viewport\""
- + "content=\"width=device-width, initial-scale=2.0, maximum-scale=2.0\" /></head>"
- + "<body><form action=\"about:blank\">"
- + "<input id=\"input_file\" type=\"file\" /><br/>"
- + "<input id=\"input_file_multiple\" type=\"file\" multiple /><br />"
- + "<input id=\"input_image\" type=\"file\" accept=\"image/*\" capture /><br/>"
- + "<input id=\"input_audio\" type=\"file\" accept=\"audio/*\" capture />"
- + "</form>"
- + "</body></html>");
-
- private ContentViewCore mContentViewCore;
- private ActivityWindowAndroidForTest mActivityWindowAndroidForTest;
-
- private static class ActivityWindowAndroidForTest extends ActivityWindowAndroid {
- public Intent lastIntent;
- public IntentCallback lastCallback;
- /**
- * @param activity
- */
- public ActivityWindowAndroidForTest(Activity activity) {
- super(activity);
- }
-
- @Override
- public int showCancelableIntent(Intent intent, IntentCallback callback, Integer errorId) {
- lastIntent = intent;
- lastCallback = callback;
- return 1;
- }
- }
-
- private class IntentSentCriteria implements Criteria {
- @Override
- public boolean isSatisfied() {
- return mActivityWindowAndroidForTest.lastIntent != null;
- }
- }
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
-
- ChromeShellActivity.setActivityWindowAndroidFactory(new ActivityWindowAndroidFactory() {
- @Override
- public ActivityWindowAndroid getActivityWindowAndroid(Activity activity) {
- mActivityWindowAndroidForTest = new ActivityWindowAndroidForTest(activity);
- return mActivityWindowAndroidForTest;
- }
- });
- launchChromeShellWithUrl(DATA_URL);
- assertTrue("Page failed to load", waitForActiveShellToBeDoneLoading());
-
- mContentViewCore = getActivity().getActiveContentViewCore();
- // TODO(aurimas) remove this wait once crbug.com/179511 is fixed.
- assertWaitForPageScaleFactorMatch(2);
- assertTrue(
- DOMUtils.waitForNonZeroNodeBounds(mContentViewCore.getWebContents(), "input_file"));
- }
-
- /**
- * Tests that clicks on <input type="file" /> trigger intent calls to ActivityWindowAndroid.
- */
- @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
- @MediumTest
- @Feature({"TextInput", "Main"})
- public void testSelectFileAndCancelRequest() throws Throwable {
- DOMUtils.clickNode(this, mContentViewCore, "input_file");
- assertTrue("SelectFileDialog never sent an intent.",
- CriteriaHelper.pollForCriteria(new IntentSentCriteria()));
- assertEquals(Intent.ACTION_CHOOSER, mActivityWindowAndroidForTest.lastIntent.getAction());
- resetActivityWindowAndroidForTest();
-
- DOMUtils.clickNode(this, mContentViewCore, "input_file_multiple");
- assertTrue("SelectFileDialog never sent an intent.",
- CriteriaHelper.pollForCriteria(new IntentSentCriteria()));
- assertEquals(Intent.ACTION_CHOOSER, mActivityWindowAndroidForTest.lastIntent.getAction());
- Intent contentIntent = (Intent)
- mActivityWindowAndroidForTest.lastIntent.getParcelableExtra(Intent.EXTRA_INTENT);
- assertNotNull(contentIntent);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
- assertTrue(contentIntent.hasExtra(Intent.EXTRA_ALLOW_MULTIPLE));
- }
- resetActivityWindowAndroidForTest();
-
- DOMUtils.clickNode(this, mContentViewCore, "input_image");
- assertTrue("SelectFileDialog never sent an intent.",
- CriteriaHelper.pollForCriteria(new IntentSentCriteria()));
- assertEquals(MediaStore.ACTION_IMAGE_CAPTURE,
- mActivityWindowAndroidForTest.lastIntent.getAction());
- resetActivityWindowAndroidForTest();
-
- DOMUtils.clickNode(this, mContentViewCore, "input_audio");
- assertTrue("SelectFileDialog never sent an intent.",
- CriteriaHelper.pollForCriteria(new IntentSentCriteria()));
- assertEquals(MediaStore.Audio.Media.RECORD_SOUND_ACTION,
- mActivityWindowAndroidForTest.lastIntent.getAction());
- resetActivityWindowAndroidForTest();
- }
-
- private void resetActivityWindowAndroidForTest() {
- ThreadUtils.runOnUiThreadBlocking(new Runnable() {
- @Override
- public void run() {
- mActivityWindowAndroidForTest.lastCallback.onIntentCompleted(
- mActivityWindowAndroidForTest, Activity.RESULT_CANCELED, null, null);
- }
- });
- mActivityWindowAndroidForTest.lastCallback = null;
- mActivityWindowAndroidForTest.lastIntent = null;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698