| Index: chrome/browser/extensions/extension_install_checker_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_install_checker_unittest.cc b/chrome/browser/extensions/extension_install_checker_unittest.cc
|
| index 7b655ad3596621b02f25658330fa1b2d62587a3b..e68dd697da5eb1b2e82d2022f3a3c9a39d366f2a 100644
|
| --- a/chrome/browser/extensions/extension_install_checker_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_install_checker_unittest.cc
|
| @@ -17,149 +17,96 @@ namespace extensions {
|
|
|
| namespace {
|
|
|
| +const PreloadCheck::Error kRequirementsError =
|
| + PreloadCheck::WEBGL_NOT_SUPPORTED;
|
| +const base::string16 kDummyRequirementsError =
|
| + base::ASCIIToUTF16("Requirements error");
|
| +const PreloadCheck::Error kRequirementsError2 =
|
| + PreloadCheck::WINDOW_SHAPE_NOT_SUPPORTED;
|
| +const base::string16 kDummyRequirementsError2 =
|
| + base::ASCIIToUTF16("Another requirements error");
|
| +
|
| const PreloadCheck::Error kBlacklistError = PreloadCheck::BLACKLISTED_ID;
|
| -const char kDummyRequirementsError[] = "Requirements error";
|
| -const char kDummyPolicyError[] = "Cannot install extension";
|
| +const PreloadCheck::Error kBlacklistError2 = PreloadCheck::BLACKLISTED_UNKNOWN;
|
|
|
| -const char kDummyPolicyError2[] = "Another policy error";
|
| -const char kDummyRequirementsError2[] = "Another requirements error";
|
| -const PreloadCheck::Error kBlacklistError2 = PreloadCheck::NONE;
|
| +const base::string16 kDummyPolicyError =
|
| + base::ASCIIToUTF16("Cannot install extension");
|
| +const base::string16 kDummyPolicyError2 =
|
| + base::ASCIIToUTF16("Another policy error");
|
|
|
| } // namespace
|
|
|
| -// Stubs most of the checks since we are interested in validating the logic in
|
| -// the install checker. This class implements a synchronous version of all
|
| -// checks.
|
| -class ExtensionInstallCheckerForTest : public ExtensionInstallChecker {
|
| +class ExtensionInstallCheckerObserver : public PreloadCheckObserver {
|
| public:
|
| - explicit ExtensionInstallCheckerForTest(bool is_async)
|
| - : ExtensionInstallChecker(NULL),
|
| - requirements_check_called_(false),
|
| - blacklist_check_called_(false),
|
| - policy_check_called_(false),
|
| - is_async_(is_async) {}
|
| -
|
| - ~ExtensionInstallCheckerForTest() override {}
|
| -
|
| - void set_requirements_error(const std::string& error) {
|
| - requirements_error_ = error;
|
| - }
|
| -
|
| - bool requirements_check_called() const { return requirements_check_called_; }
|
| - bool blacklist_check_called() const { return blacklist_check_called_; }
|
| - bool policy_check_called() const { return policy_check_called_; }
|
| + ~ExtensionInstallCheckerObserver() override {}
|
|
|
| - bool is_async() { return is_async_; }
|
| + int result() { return result_; }
|
|
|
| - void MockCheckRequirements(int sequence_number) {
|
| - std::vector<std::string> errors;
|
| - if (!requirements_error_.empty())
|
| - errors.push_back(requirements_error_);
|
| - OnRequirementsCheckDone(sequence_number, errors);
|
| - }
|
| -
|
| - protected:
|
| - void CheckRequirements() override {
|
| - requirements_check_called_ = true;
|
| - if (is_async_) {
|
| - base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&ExtensionInstallCheckerForTest::MockCheckRequirements,
|
| - base::Unretained(this), current_sequence_number()));
|
| - } else {
|
| - MockCheckRequirements(current_sequence_number());
|
| - }
|
| - }
|
| -
|
| - void CheckManagementPolicy() override {
|
| - policy_check_called_ = true;
|
| - ExtensionInstallChecker::CheckManagementPolicy();
|
| - }
|
| -
|
| - void CheckBlacklistState() override {
|
| - blacklist_check_called_ = true;
|
| - ExtensionInstallChecker::CheckBlacklistState();
|
| - }
|
| -
|
| - void ResetResults() override {
|
| - ExtensionInstallChecker::ResetResults();
|
| -
|
| - requirements_check_called_ = false;
|
| - blacklist_check_called_ = false;
|
| - policy_check_called_ = false;
|
| - }
|
| -
|
| - bool requirements_check_called_;
|
| - bool blacklist_check_called_;
|
| - bool policy_check_called_;
|
| -
|
| - // Dummy errors for testing.
|
| - std::string requirements_error_;
|
| -
|
| - // Whether the checks that can run asynchronously should do so.
|
| - bool is_async_;
|
| -};
|
| -
|
| -class CheckObserver {
|
| - public:
|
| - CheckObserver() : result_(0), call_count_(0) {}
|
| -
|
| - int result() const { return result_; }
|
| - int call_count() const { return call_count_; }
|
| -
|
| - void OnChecksComplete(int checks_failed) {
|
| - result_ = checks_failed;
|
| - ++call_count_;
|
| - }
|
| -
|
| - void Wait() {
|
| - if (call_count_)
|
| - return;
|
| -
|
| - base::RunLoop().RunUntilIdle();
|
| + void OnChecksComplete(int result) {
|
| + result_ = result;
|
| + // We're tracking errors separately, but still want to update called_.
|
| + OnCheckComplete(PreloadCheck::Errors());
|
| }
|
|
|
| private:
|
| int result_;
|
| - int call_count_;
|
| };
|
|
|
| class ExtensionInstallCheckerTest : public testing::Test {
|
| public:
|
| - ExtensionInstallCheckerTest() {}
|
| + ExtensionInstallCheckerTest() :
|
| + requirements_checker_stub_(nullptr),
|
| + blacklist_check_stub_(nullptr),
|
| + policy_check_stub_(nullptr),
|
| + is_async_(false) {}
|
| ~ExtensionInstallCheckerTest() override {}
|
|
|
| - void SetBlacklistError(ExtensionInstallCheckerForTest* checker,
|
| + void SetRequirementsError(ExtensionInstallChecker* checker,
|
| + PreloadCheck::Error error,
|
| + base::string16 message) {
|
| + std::unique_ptr<PreloadCheckStub> requirements_checker =
|
| + base::MakeUnique<PreloadCheckStub>(is_async_);
|
| + if (error != PreloadCheck::NONE) {
|
| + requirements_checker->AddError(error);
|
| + requirements_checker->set_error_message(message);
|
| + }
|
| + requirements_checker_stub_ = requirements_checker.get();
|
| + checker->SetRequirementsCheckerForTesting(std::move(requirements_checker));
|
| + }
|
| +
|
| + void SetBlacklistError(ExtensionInstallChecker* checker,
|
| PreloadCheck::Error error) {
|
| std::unique_ptr<PreloadCheckStub> blacklist_check =
|
| - base::MakeUnique<PreloadCheckStub>(checker->is_async());
|
| + base::MakeUnique<PreloadCheckStub>(is_async_);
|
| if (error != PreloadCheck::NONE)
|
| blacklist_check->AddError(error);
|
| + blacklist_check_stub_ = blacklist_check.get();
|
| checker->SetBlacklistCheckForTesting(std::move(blacklist_check));
|
| }
|
|
|
| - void SetPolicyError(ExtensionInstallCheckerForTest* checker,
|
| + void SetPolicyError(ExtensionInstallChecker* checker,
|
| PreloadCheck::Error error,
|
| - std::string message) {
|
| + base::string16 message) {
|
| // The policy check always runs synchronously.
|
| std::unique_ptr<PreloadCheckStub> policy_check =
|
| base::MakeUnique<PreloadCheckStub>();
|
| if (error != PreloadCheck::NONE) {
|
| policy_check->AddError(error);
|
| - policy_check->set_error_message(base::UTF8ToUTF16(message));
|
| + policy_check->set_error_message(message);
|
| }
|
| + policy_check_stub_ = policy_check.get();
|
| checker->SetPolicyCheckForTesting(std::move(policy_check));
|
| }
|
|
|
| - void RunSecondInvocation(ExtensionInstallCheckerForTest* checker,
|
| + void RunSecondInvocation(ExtensionInstallChecker* checker,
|
| int checks_failed) {
|
| EXPECT_GT(checks_failed, 0);
|
| EXPECT_FALSE(checker->is_running());
|
| - ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL, *checker);
|
| + ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL);
|
|
|
| // Set up different return values.
|
| - checker->set_requirements_error(kDummyRequirementsError2);
|
| -
|
| + SetRequirementsError(
|
| + checker, kRequirementsError2, kDummyRequirementsError2);
|
| SetBlacklistError(checker, PreloadCheck::NONE);
|
| SetPolicyError(checker, PreloadCheck::DISALLOWED_BY_POLICY,
|
| kDummyPolicyError2);
|
| @@ -167,6 +114,7 @@ class ExtensionInstallCheckerTest : public testing::Test {
|
| // Run the install checker again and ensure the second set of return values
|
| // is received.
|
| checker->Start(
|
| + nullptr,
|
| ExtensionInstallChecker::CHECK_ALL,
|
| false /* fail fast */,
|
| base::Bind(&ExtensionInstallCheckerTest::ValidateSecondInvocation,
|
| @@ -174,13 +122,13 @@ class ExtensionInstallCheckerTest : public testing::Test {
|
| checker));
|
| }
|
|
|
| - void ValidateSecondInvocation(ExtensionInstallCheckerForTest* checker,
|
| + void ValidateSecondInvocation(ExtensionInstallChecker* checker,
|
| int checks_failed) {
|
| EXPECT_FALSE(checker->is_running());
|
| EXPECT_EQ(ExtensionInstallChecker::CHECK_REQUIREMENTS |
|
| ExtensionInstallChecker::CHECK_MANAGEMENT_POLICY,
|
| checks_failed);
|
| - ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL, *checker);
|
| + ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL);
|
|
|
| EXPECT_EQ(kBlacklistError2, checker->blacklist_error());
|
| ExpectPolicyError(kDummyPolicyError2, *checker);
|
| @@ -188,88 +136,92 @@ class ExtensionInstallCheckerTest : public testing::Test {
|
| }
|
|
|
| protected:
|
| - void SetAllPass(ExtensionInstallCheckerForTest* checker) {
|
| + void SetAllPass(ExtensionInstallChecker* checker) {
|
| + SetRequirementsError(checker, PreloadCheck::NONE, base::string16());
|
| SetBlacklistError(checker, PreloadCheck::NONE);
|
| - SetPolicyError(checker, PreloadCheck::NONE, "");
|
| - checker->set_requirements_error("");
|
| + SetPolicyError(checker, PreloadCheck::NONE, base::string16());
|
| }
|
|
|
| - void SetAllErrors(ExtensionInstallCheckerForTest* checker) {
|
| + void SetAllErrors(ExtensionInstallChecker* checker) {
|
| + SetRequirementsError(checker, kRequirementsError, kDummyRequirementsError);
|
| SetBlacklistError(checker, kBlacklistError);
|
| SetPolicyError(checker, PreloadCheck::DISALLOWED_BY_POLICY,
|
| kDummyPolicyError);
|
| - checker->set_requirements_error(kDummyRequirementsError);
|
| }
|
|
|
| - void ValidateExpectedCalls(int call_mask,
|
| - const ExtensionInstallCheckerForTest& checker) {
|
| + void ValidateExpectedCalls(int call_mask) {
|
| bool expect_blacklist_checked =
|
| (call_mask & ExtensionInstallChecker::CHECK_BLACKLIST) != 0;
|
| bool expect_requirements_checked =
|
| (call_mask & ExtensionInstallChecker::CHECK_REQUIREMENTS) != 0;
|
| bool expect_policy_checked =
|
| (call_mask & ExtensionInstallChecker::CHECK_MANAGEMENT_POLICY) != 0;
|
| - EXPECT_EQ(expect_blacklist_checked, checker.blacklist_check_called());
|
| - EXPECT_EQ(expect_policy_checked, checker.policy_check_called());
|
| - EXPECT_EQ(expect_requirements_checked, checker.requirements_check_called());
|
| + EXPECT_EQ(expect_blacklist_checked,
|
| + blacklist_check_stub_ && blacklist_check_stub_->started());
|
| + EXPECT_EQ(expect_policy_checked,
|
| + policy_check_stub_ && policy_check_stub_->started());
|
| + EXPECT_EQ(expect_requirements_checked,
|
| + requirements_checker_stub_ && requirements_checker_stub_->started());
|
| }
|
|
|
| - void ExpectRequirementsPass(const ExtensionInstallCheckerForTest& checker) {
|
| - EXPECT_TRUE(checker.requirement_errors().empty());
|
| + void ExpectRequirementsPass(const ExtensionInstallChecker& checker) {
|
| + EXPECT_TRUE(checker.requirement_error_message().empty());
|
| }
|
|
|
| - void ExpectRequirementsError(const char* expected_error,
|
| - const ExtensionInstallCheckerForTest& checker) {
|
| - EXPECT_FALSE(checker.requirement_errors().empty());
|
| - EXPECT_EQ(std::string(expected_error),
|
| - checker.requirement_errors().front());
|
| + void ExpectRequirementsError(base::string16 expected_error,
|
| + const ExtensionInstallChecker& checker) {
|
| + EXPECT_FALSE(checker.requirement_error_message().empty());
|
| + EXPECT_EQ(expected_error,
|
| + checker.requirement_error_message());
|
| }
|
|
|
| - void ExpectRequirementsError(const ExtensionInstallCheckerForTest& checker) {
|
| + void ExpectRequirementsError(const ExtensionInstallChecker& checker) {
|
| ExpectRequirementsError(kDummyRequirementsError, checker);
|
| }
|
|
|
| - void ExpectBlacklistPass(const ExtensionInstallCheckerForTest& checker) {
|
| + void ExpectBlacklistPass(const ExtensionInstallChecker& checker) {
|
| EXPECT_EQ(PreloadCheck::NONE, checker.blacklist_error());
|
| }
|
|
|
| - void ExpectBlacklistError(const ExtensionInstallCheckerForTest& checker) {
|
| + void ExpectBlacklistError(const ExtensionInstallChecker& checker) {
|
| EXPECT_EQ(kBlacklistError, checker.blacklist_error());
|
| }
|
|
|
| - void ExpectPolicyPass(const ExtensionInstallCheckerForTest& checker) {
|
| + void ExpectPolicyPass(const ExtensionInstallChecker& checker) {
|
| EXPECT_TRUE(checker.policy_error().empty());
|
| }
|
|
|
| - void ExpectPolicyError(const char* expected_error,
|
| - const ExtensionInstallCheckerForTest& checker) {
|
| + void ExpectPolicyError(base::string16 expected_error,
|
| + const ExtensionInstallChecker& checker) {
|
| EXPECT_FALSE(checker.policy_error().empty());
|
| - EXPECT_EQ(std::string(expected_error), checker.policy_error());
|
| + EXPECT_EQ(expected_error, checker.policy_error());
|
| }
|
|
|
| - void ExpectPolicyError(const ExtensionInstallCheckerForTest& checker) {
|
| + void ExpectPolicyError(const ExtensionInstallChecker& checker) {
|
| ExpectPolicyError(kDummyPolicyError, checker);
|
| }
|
|
|
| - void RunChecker(ExtensionInstallCheckerForTest* checker,
|
| + void RunChecker(ExtensionInstallChecker* checker,
|
| bool fail_fast,
|
| int checks_to_run,
|
| int expected_checks_run,
|
| int expected_result) {
|
| - CheckObserver observer;
|
| - checker->Start(checks_to_run,
|
| + ExtensionInstallCheckerObserver observer;
|
| + checker->Start(nullptr,
|
| + checks_to_run,
|
| fail_fast,
|
| - base::Bind(&CheckObserver::OnChecksComplete,
|
| - base::Unretained(&observer)));
|
| + base::Bind(
|
| + &ExtensionInstallCheckerObserver::OnChecksComplete,
|
| + base::Unretained(&observer)));
|
| observer.Wait();
|
|
|
| EXPECT_FALSE(checker->is_running());
|
| EXPECT_EQ(expected_result, observer.result());
|
| - EXPECT_EQ(1, observer.call_count());
|
| - ValidateExpectedCalls(expected_checks_run, *checker);
|
| + EXPECT_TRUE(observer.called());
|
| + ValidateExpectedCalls(expected_checks_run);
|
| }
|
|
|
| - void DoRunAllChecksPass(ExtensionInstallCheckerForTest* checker) {
|
| + void DoRunAllChecksPass(ExtensionInstallChecker* checker) {
|
| SetAllPass(checker);
|
| RunChecker(checker,
|
| false /* fail fast */,
|
| @@ -282,7 +234,7 @@ class ExtensionInstallCheckerTest : public testing::Test {
|
| ExpectBlacklistPass(*checker);
|
| }
|
|
|
| - void DoRunAllChecksFail(ExtensionInstallCheckerForTest* checker) {
|
| + void DoRunAllChecksFail(ExtensionInstallChecker* checker) {
|
| SetAllErrors(checker);
|
| RunChecker(checker,
|
| false /* fail fast */,
|
| @@ -295,7 +247,7 @@ class ExtensionInstallCheckerTest : public testing::Test {
|
| ExpectBlacklistError(*checker);
|
| }
|
|
|
| - void DoRunSubsetOfChecks(ExtensionInstallCheckerForTest* checker) {
|
| + void DoRunSubsetOfChecks(ExtensionInstallChecker* checker) {
|
| // Test check set 1.
|
| int tests_to_run = ExtensionInstallChecker::CHECK_MANAGEMENT_POLICY |
|
| ExtensionInstallChecker::CHECK_REQUIREMENTS;
|
| @@ -326,9 +278,17 @@ class ExtensionInstallCheckerTest : public testing::Test {
|
| ExpectBlacklistError(*checker);
|
| }
|
|
|
| + // Call to specify whether the checks should simulate running asynchronously.
|
| + void set_is_async(bool is_async) { is_async_ = is_async; }
|
| +
|
| private:
|
| // A message loop is required for the asynchronous tests.
|
| base::MessageLoop message_loop;
|
| +
|
| + PreloadCheckStub* requirements_checker_stub_;
|
| + PreloadCheckStub* blacklist_check_stub_;
|
| + PreloadCheckStub* policy_check_stub_;
|
| + bool is_async_;
|
| };
|
|
|
| class ExtensionInstallCheckerMultipleInvocationTest
|
| @@ -337,23 +297,25 @@ class ExtensionInstallCheckerMultipleInvocationTest
|
| ExtensionInstallCheckerMultipleInvocationTest() : callback_count_(0) {}
|
| ~ExtensionInstallCheckerMultipleInvocationTest() override {}
|
|
|
| - void RunSecondInvocation(ExtensionInstallCheckerForTest* checker,
|
| + void RunSecondInvocation(ExtensionInstallChecker* checker,
|
| int checks_failed) {
|
| ASSERT_EQ(0, callback_count_);
|
| ++callback_count_;
|
| EXPECT_FALSE(checker->is_running());
|
| EXPECT_GT(checks_failed, 0);
|
| - ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL, *checker);
|
| + ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL);
|
|
|
| // Set up different return values.
|
| + SetRequirementsError(
|
| + checker, kRequirementsError2, kDummyRequirementsError2);
|
| SetBlacklistError(checker, kBlacklistError2);
|
| SetPolicyError(checker, PreloadCheck::DISALLOWED_BY_POLICY,
|
| kDummyPolicyError2);
|
| - checker->set_requirements_error(kDummyRequirementsError2);
|
|
|
| // Run the install checker again and ensure the second set of return values
|
| // is received.
|
| - checker->Start(ExtensionInstallChecker::CHECK_ALL,
|
| + checker->Start(nullptr,
|
| + ExtensionInstallChecker::CHECK_ALL,
|
| false /* fail fast */,
|
| base::Bind(&ExtensionInstallCheckerMultipleInvocationTest::
|
| ValidateSecondInvocation,
|
| @@ -361,14 +323,14 @@ class ExtensionInstallCheckerMultipleInvocationTest
|
| checker));
|
| }
|
|
|
| - void ValidateSecondInvocation(ExtensionInstallCheckerForTest* checker,
|
| + void ValidateSecondInvocation(ExtensionInstallChecker* checker,
|
| int checks_failed) {
|
| ASSERT_EQ(1, callback_count_);
|
| EXPECT_FALSE(checker->is_running());
|
| EXPECT_EQ(ExtensionInstallChecker::CHECK_REQUIREMENTS |
|
| ExtensionInstallChecker::CHECK_MANAGEMENT_POLICY,
|
| checks_failed);
|
| - ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL, *checker);
|
| + ValidateExpectedCalls(ExtensionInstallChecker::CHECK_ALL);
|
|
|
| EXPECT_EQ(kBlacklistError2, checker->blacklist_error());
|
| ExpectPolicyError(kDummyPolicyError2, *checker);
|
| @@ -381,28 +343,31 @@ class ExtensionInstallCheckerMultipleInvocationTest
|
|
|
| // Test the case where all tests pass.
|
| TEST_F(ExtensionInstallCheckerTest, AllSucceeded) {
|
| - ExtensionInstallCheckerForTest sync_checker(false);
|
| + ExtensionInstallChecker sync_checker(nullptr);
|
| DoRunAllChecksPass(&sync_checker);
|
|
|
| - ExtensionInstallCheckerForTest async_checker(true);
|
| + set_is_async(true);
|
| + ExtensionInstallChecker async_checker(nullptr);
|
| DoRunAllChecksPass(&async_checker);
|
| }
|
|
|
| // Test the case where all tests fail.
|
| TEST_F(ExtensionInstallCheckerTest, AllFailed) {
|
| - ExtensionInstallCheckerForTest sync_checker(false);
|
| + ExtensionInstallChecker sync_checker(nullptr);
|
| DoRunAllChecksFail(&sync_checker);
|
|
|
| - ExtensionInstallCheckerForTest async_checker(true);
|
| + set_is_async(true);
|
| + ExtensionInstallChecker async_checker(nullptr);
|
| DoRunAllChecksFail(&async_checker);
|
| }
|
|
|
| // Test running only a subset of tests.
|
| TEST_F(ExtensionInstallCheckerTest, RunSubsetOfChecks) {
|
| - ExtensionInstallCheckerForTest sync_checker(false);
|
| + ExtensionInstallChecker sync_checker(nullptr);
|
| DoRunSubsetOfChecks(&sync_checker);
|
|
|
| - ExtensionInstallCheckerForTest async_checker(true);
|
| + set_is_async(true);
|
| + ExtensionInstallChecker async_checker(nullptr);
|
| DoRunSubsetOfChecks(&async_checker);
|
| }
|
|
|
| @@ -410,7 +375,7 @@ TEST_F(ExtensionInstallCheckerTest, RunSubsetOfChecks) {
|
| TEST_F(ExtensionInstallCheckerTest, FailFastSync) {
|
| // This test assumes some internal knowledge of the implementation - that
|
| // the policy check runs first.
|
| - ExtensionInstallCheckerForTest checker(false);
|
| + ExtensionInstallChecker checker(nullptr);
|
| SetAllErrors(&checker);
|
| RunChecker(&checker,
|
| true /* fail fast */,
|
| @@ -443,12 +408,13 @@ TEST_F(ExtensionInstallCheckerTest, FailFastAsync) {
|
| // the requirements check runs before the blacklist check. Both checks should
|
| // be called, but the requirements check callback arrives first and the
|
| // blacklist result will be discarded.
|
| - ExtensionInstallCheckerForTest checker(true);
|
| + set_is_async(true);
|
| + ExtensionInstallChecker checker(nullptr);
|
| SetAllErrors(&checker);
|
|
|
| // The policy check is synchronous and needs to pass for the other tests to
|
| // run.
|
| - SetPolicyError(&checker, PreloadCheck::NONE, "");
|
| + SetPolicyError(&checker, PreloadCheck::NONE, base::string16());
|
|
|
| RunChecker(&checker,
|
| true /* fail fast */,
|
| @@ -464,11 +430,13 @@ TEST_F(ExtensionInstallCheckerTest, FailFastAsync) {
|
| // Test multiple invocations of the install checker. Wait for all checks to
|
| // complete.
|
| TEST_F(ExtensionInstallCheckerMultipleInvocationTest, CompleteAll) {
|
| - ExtensionInstallCheckerForTest checker(true);
|
| + set_is_async(true);
|
| + ExtensionInstallChecker checker(nullptr);
|
| SetAllErrors(&checker);
|
|
|
| // Start the second check as soon as the callback of the first run is invoked.
|
| checker.Start(
|
| + nullptr,
|
| ExtensionInstallChecker::CHECK_ALL,
|
| false /* fail fast */,
|
| base::Bind(
|
| @@ -480,15 +448,17 @@ TEST_F(ExtensionInstallCheckerMultipleInvocationTest, CompleteAll) {
|
|
|
| // Test multiple invocations of the install checker and fail fast.
|
| TEST_F(ExtensionInstallCheckerMultipleInvocationTest, FailFast) {
|
| - ExtensionInstallCheckerForTest checker(true);
|
| + set_is_async(true);
|
| + ExtensionInstallChecker checker(nullptr);
|
| SetAllErrors(&checker);
|
|
|
| // The policy check is synchronous and needs to pass for the other tests to
|
| // run.
|
| - SetPolicyError(&checker, PreloadCheck::NONE, "");
|
| + SetPolicyError(&checker, PreloadCheck::NONE, base::string16());
|
|
|
| // Start the second check as soon as the callback of the first run is invoked.
|
| checker.Start(
|
| + nullptr,
|
| ExtensionInstallChecker::CHECK_ALL,
|
| true /* fail fast */,
|
| base::Bind(
|
|
|