1// Copyright (c) 2012 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_UI_WEBUI_OPTIONS_OPTIONS_UI_BROWSERTEST_H_
6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_OPTIONS_UI_BROWSERTEST_H_
7
8#include <string>
9
10#include "base/basictypes.h"
11#include "chrome/test/base/in_process_browser_test.h"
12
13namespace content {
14class RenderFrameHost;
15}
16
17namespace options {
18
19class OptionsUIBrowserTest : public InProcessBrowserTest {
20 public:
21  OptionsUIBrowserTest();
22
23  // Navigate to the Uber/Settings page and block until it has loaded.
24  void NavigateToSettings();
25
26  // Navigate to a certain subpage in the Uber/Settings page and block until it
27  // has loaded.
28  void NavigateToSettingsSubpage(const std::string& sub_page);
29
30  // Navigate to the Settings frame and block until complete.
31  void NavigateToSettingsFrame();
32
33  // Check navbar's existence.
34  void VerifyNavbar();
35
36  // Verify that the page title is correct.
37  // The only guarantee we can make about the title of a settings tab is that
38  // it should contain IDS_SETTINGS_TITLE somewhere.
39  void VerifyTitle();
40
41 protected:
42  // Returns the RenderFrameHost associated with the Settings frame inside the
43  // Uber UI page (which must be already loaded).
44  content::RenderFrameHost* GetSettingsFrame();
45
46 private:
47  DISALLOW_COPY_AND_ASSIGN(OptionsUIBrowserTest);
48};
49
50}  // namespace options
51
52#endif  // CHROME_BROWSER_UI_WEBUI_OPTIONS_OPTIONS_UI_BROWSERTEST_H_
53