15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "content/public/test/content_browser_test.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/command_line.h"
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/public/common/content_switches.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/test/browser_test_utils.h"
11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "content/public/test/content_browser_test_utils.h"
123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "content/shell/browser/shell.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(ContentBrowserTest, MANUAL_ShouldntRun) {
18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  // Ensures that tests with MANUAL_ prefix don't run automatically.
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  ASSERT_TRUE(false);
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class ContentBrowserTestSanityTest : public ContentBrowserTest {
23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) public:
24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    const testing::TestInfo* const test_info =
26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)        testing::UnitTest::GetInstance()->current_test_info();
27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    if (std::string(test_info->name()) == "SingleProcess")
28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      command_line->AppendSwitch(switches::kSingleProcess);
29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  }
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
31868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  void Test() {
32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    GURL url = GetTestUrl(".", "simple_page.html");
33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    base::string16 expected_title(base::ASCIIToUTF16("OK"));
35868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    TitleWatcher title_watcher(shell()->web_contents(), expected_title);
36868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    NavigateToURL(shell(), url);
37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    base::string16 title = title_watcher.WaitAndGetTitle();
38868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    EXPECT_EQ(expected_title, title);
39868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  }
40868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)};
41868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IN_PROC_BROWSER_TEST_F(ContentBrowserTestSanityTest, Basic) {
43868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  Test();
44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(ContentBrowserTestSanityTest, SingleProcess) {
47868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  Test();
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
51