1 // Copyright 2014 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 APPS_SHELL_TEST_SHELL_TEST_H_ 6 #define APPS_SHELL_TEST_SHELL_TEST_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "content/public/test/browser_test.h" 10 #include "content/public/test/browser_test_base.h" 11 12 namespace base { 13 class FilePath; 14 } 15 16 namespace content { 17 class BrowserContext; 18 } 19 20 namespace extensions { 21 class ShellExtensionSystem; 22 } 23 24 namespace apps { 25 26 // Base class for app shell browser tests. 27 class AppShellTest : public content::BrowserTestBase { 28 public: 29 AppShellTest(); 30 virtual ~AppShellTest(); 31 32 // content::BrowserTestBase implementation. 33 virtual void SetUp() OVERRIDE; 34 virtual void SetUpOnMainThread() OVERRIDE; 35 virtual void RunTestOnMainThreadLoop() OVERRIDE; 36 37 // Loads an unpacked application from a directory using |extension_system_| 38 // and attempts to launch it. Returns true on success. 39 bool LoadAndLaunchApp(const base::FilePath& app_dir); 40 41 content::BrowserContext* browser_context() { return browser_context_; } 42 43 private: 44 content::BrowserContext* browser_context_; 45 extensions::ShellExtensionSystem* extension_system_; 46 }; 47 48 } // namespace apps 49 50 #endif // APPS_SHELL_TEST_SHELL_TEST_H_ 51