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); |
- } |
-} |