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 EXTENSIONS_SHELL_TEST_SHELL_API_TEST_H_
6#define EXTENSIONS_SHELL_TEST_SHELL_API_TEST_H_
7
8#include <string>
9
10#include "extensions/shell/test/shell_test.h"
11
12namespace extensions {
13
14// Base class for app shell browser API tests that load an app/extension
15// and wait for a success message from the chrome.test API.
16class ShellApiTest : public AppShellTest {
17 public:
18  ShellApiTest();
19  virtual ~ShellApiTest();
20
21  // Loads an unpacked platform app from a directory using the current
22  // ExtensionSystem, launches it, and waits for a chrome.test success
23  // notification. Returns true if the test succeeds. |app_dir| is a
24  // subpath under extensions/test/data.
25  bool RunAppTest(const std::string& app_dir);
26
27 protected:
28  // If it failed, what was the error message?
29  std::string message_;
30
31 private:
32  DISALLOW_COPY_AND_ASSIGN(ShellApiTest);
33};
34
35}  // namespace extensions
36
37#endif  // EXTENSIONS_SHELL_TEST_SHELL_API_TEST_H_
38