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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/banners/InstallerDelegateTest.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/banners/InstallerDelegateTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/banners/InstallerDelegateTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/banners/InstallerDelegateTest.java
deleted file mode 100644
index c829abe2f42d6b1b1b424f1ab9c7066319ad4ef9..0000000000000000000000000000000000000000
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/banners/InstallerDelegateTest.java
+++ /dev/null
@@ -1,168 +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.banners;
-
-import android.content.pm.PackageInfo;
-import android.os.HandlerThread;
-import android.test.mock.MockPackageManager;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import org.chromium.chrome.shell.ChromeShellTestBase;
-import org.chromium.content.browser.test.util.Criteria;
-import org.chromium.content.browser.test.util.CriteriaHelper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Tests the InstallerDelegate to make sure that it functions correctly and responds to changes
- * in the PackageManager.
- */
-public class InstallerDelegateTest extends ChromeShellTestBase
- implements InstallerDelegate.Observer{
- private static final String MOCK_PACKAGE_NAME = "mock.package.name";
-
- /**
- * Returns a mocked set of installed packages.
- */
- public static class TestPackageManager extends MockPackageManager {
- public boolean isInstalled = false;
-
- @Override
- public List<PackageInfo> getInstalledPackages(int flags) {
- List<PackageInfo> packages = new ArrayList<PackageInfo>();
-
- if (isInstalled) {
- PackageInfo info = new PackageInfo();
- info.packageName = MOCK_PACKAGE_NAME;
- packages.add(info);
- }
-
- return packages;
- }
- }
-
- private TestPackageManager mPackageManager;
- private InstallerDelegate mTestDelegate;
- private HandlerThread mThread;
-
- // Variables for tracking the result.
- private boolean mResultFinished;
- private InstallerDelegate mResultDelegate;
- private boolean mResultSuccess;
- private boolean mInstallStarted;
-
- @Override
- public void onInstallFinished(InstallerDelegate delegate, boolean success) {
- mResultDelegate = delegate;
- mResultSuccess = success;
- mResultFinished = true;
- assertTrue(mInstallStarted);
- }
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
-
- mPackageManager = new TestPackageManager();
-
- // Create a thread for the InstallerDelegate to run on. We need this thread because the
- // InstallerDelegate's handler fails to be processed otherwise.
- mThread = new HandlerThread("InstallerDelegateTest thread");
- mThread.start();
- mTestDelegate = new InstallerDelegate(
- mThread.getLooper(), mPackageManager, this, MOCK_PACKAGE_NAME);
-
- // Clear out the results from last time.
- mResultDelegate = null;
- mResultSuccess = false;
- mResultFinished = false;
- }
-
- @Override
- public void tearDown() throws Exception {
- mThread.quit();
- super.tearDown();
- }
-
- private void startMonitoring() throws InterruptedException {
- mTestDelegate.start();
- mInstallStarted = true;
-
- // Wait until we know that the Thread is running the InstallerDelegate task.
- assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return mTestDelegate.isRunning();
- }
- }));
- }
-
- private void checkResults(boolean expectedResult) throws InterruptedException {
- assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return !mTestDelegate.isRunning() && mResultFinished;
- }
- }));
-
- assertEquals(expectedResult, mResultSuccess);
- assertEquals(mTestDelegate, mResultDelegate);
- }
-
- /**
- * Tests what happens when the InstallerDelegate detects that the package has successfully
- * been installed.
- */
- @SmallTest
- public void testInstallSuccessful() throws InterruptedException {
- mTestDelegate.setTimingForTests(1, 5000);
- startMonitoring();
-
- assertFalse(mResultSuccess);
- assertNull(mResultDelegate);
- assertFalse(mResultFinished);
-
- mPackageManager.isInstalled = true;
- checkResults(true);
- }
-
- /**
- * Tests what happens when the InstallerDelegate task is canceled.
- */
- @SmallTest
- public void testInstallWaitUntilCancel() throws InterruptedException {
- mTestDelegate.setTimingForTests(1, 5000);
- startMonitoring();
-
- assertFalse(mResultSuccess);
- assertNull(mResultDelegate);
- assertFalse(mResultFinished);
-
- mTestDelegate.cancel();
- checkResults(false);
- }
-
- /**
- * Tests what happens when the InstallerDelegate times out.
- */
- @SmallTest
- public void testInstallTimeout() throws InterruptedException {
- mTestDelegate.setTimingForTests(1, 50);
- startMonitoring();
- checkResults(false);
- }
-
- /**
- * Makes sure that the runnable isn't called until returning from start().
- */
- @SmallTest
- public void testRunnableRaceCondition() throws InterruptedException {
- mPackageManager.isInstalled = true;
- mTestDelegate.setTimingForTests(1, 5000);
- startMonitoring();
- checkResults(true);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698