• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_
6 #define CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_
7 
8 #include <string>
9 
10 #include "base/files/scoped_temp_dir.h"
11 #include "chrome/test/base/in_process_browser_test.h"
12 #include "url/gurl.h"
13 
14 namespace base {
15 class CommandLine;
16 }  // namespace base
17 
18 class WebstoreInstallerTest : public InProcessBrowserTest {
19  public:
20   WebstoreInstallerTest(const std::string& webstore_domain,
21                         const std::string& test_data_path,
22                         const std::string& crx_filename,
23                         const std::string& verified_domain,
24                         const std::string& unverified_domain);
25   virtual ~WebstoreInstallerTest();
26 
27   virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE;
28   virtual void SetUpInProcessBrowserTestFixture() OVERRIDE;
29   virtual void SetUpOnMainThread() OVERRIDE;
30 
31  protected:
32   GURL GenerateTestServerUrl(const std::string& domain,
33                              const std::string& page_filename);
34 
35   void RunTest(const std::string& test_function_name);
36 
37   // Passes |i| to |test_function_name|, and expects that function to
38   // return one of "FAILED", "KEEPGOING" or "DONE". KEEPGOING should be
39   // returned if more tests remain to be run and the current test succeeded,
40   // FAILED is returned when a test fails, and DONE is returned by the last
41   // test if it succeeds.
42   // This methods returns true iff there are more tests that need to be run.
43   bool RunIndexedTest(const std::string& test_function_name, int i);
44 
45   // Runs a test without waiting for any results from the renderer.
46   void RunTestAsync(const std::string& test_function_name);
47 
48   std::string webstore_domain_;
49   std::string test_data_path_;
50   std::string crx_filename_;
51   std::string verified_domain_;
52   std::string unverified_domain_;
53   std::string test_gallery_url_;
54 
55   base::ScopedTempDir download_directory_;
56 };
57 
58 #endif  // CHROME_BROWSER_EXTENSIONS_WEBSTORE_INSTALLER_TEST_H_
59