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