// Copyright 2013 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. #ifndef CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_ #define CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_ #include #include "base/files/scoped_temp_dir.h" #include "chrome/browser/extensions/extension_browsertest.h" #include "url/gurl.h" namespace base { class CommandLine; } // namespace base class WebstoreInstallerTest : public ExtensionBrowserTest { public: WebstoreInstallerTest(const std::string& webstore_domain, const std::string& test_data_path, const std::string& crx_filename, const std::string& verified_domain, const std::string& unverified_domain); ~WebstoreInstallerTest() override; void SetUpCommandLine(base::CommandLine* command_line) override; void SetUpInProcessBrowserTestFixture() override; void SetUpOnMainThread() override; protected: GURL GenerateTestServerUrl(const std::string& domain, const std::string& page_filename); void RunTest(const std::string& test_function_name); // Passes |i| to |test_function_name|, and expects that function to // return one of "FAILED", "KEEPGOING" or "DONE". KEEPGOING should be // returned if more tests remain to be run and the current test succeeded, // FAILED is returned when a test fails, and DONE is returned by the last // test if it succeeds. // This methods returns true iff there are more tests that need to be run. bool RunIndexedTest(const std::string& test_function_name, int i); // Runs a test without waiting for any results from the renderer. void RunTestAsync(const std::string& test_function_name); // Configures command line switches to simulate a user accepting the install // prompt. void AutoAcceptInstall(); // Configures command line switches to simulate a user cancelling the install // prompt. void AutoCancelInstall(); std::string webstore_domain_; std::string test_data_path_; std::string crx_filename_; std::string verified_domain_; std::string unverified_domain_; std::string test_gallery_url_; base::ScopedTempDir download_directory_; }; #endif // CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_