1// Copyright (c) 2010 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// This is a file for random testcases that we run into that at one point or 6// another have crashed the program. 7 8#include "chrome/test/ui/ui_test.h" 9 10#include "base/basictypes.h" 11#include "base/file_path.h" 12#include "chrome/common/chrome_switches.h" 13#include "net/base/net_util.h" 14 15class GoogleTest : public UITest { 16 protected: 17 GoogleTest() : UITest() { 18 FilePath test_file = 19 test_data_directory_.AppendASCII("google").AppendASCII("google.html"); 20 set_homepage(GURL(net::FilePathToFileURL(test_file)).spec()); 21 } 22}; 23 24TEST_F(GoogleTest, Crash) { 25 std::wstring page_title = L"Google"; 26 27 // Make sure the navigation succeeded. 28 EXPECT_EQ(page_title, GetActiveTabTitle()); 29 30 // UITest will check if this crashed. 31} 32 33class ColumnLayout : public UITest { 34 protected: 35 ColumnLayout() : UITest() { 36 FilePath test_file = test_data_directory_.AppendASCII("columns.html"); 37 set_homepage(GURL(net::FilePathToFileURL(test_file)).spec()); 38 } 39}; 40 41TEST_F(ColumnLayout, Crash) { 42 std::wstring page_title = L"Column test"; 43 44 // Make sure the navigation succeeded. 45 EXPECT_EQ(page_title, GetActiveTabTitle()); 46 47 // UITest will check if this crashed. 48} 49 50// By passing kTryChromeAgain with a magic value > 10000 we cause Chrome 51// to exit fairly early. 52// Quickly exiting Chrome (regardless of this particular flag -- it 53// doesn't do anything other than cause Chrome to quit on startup on 54// non-Windows) was a cause of crashes (see bug 34799 for example) so 55// this is a useful test of the startup/quick-shutdown cycle. 56class EarlyReturnTest : public UITest { 57 public: 58 EarlyReturnTest() { 59 wait_for_initial_loads_ = false; // Don't wait for any pages to load. 60 launch_arguments_.AppendSwitchASCII(switches::kTryChromeAgain, "10001"); 61 } 62}; 63 64// Disabled: http://crbug.com/45115 65// Due to limitations in our test infrastructure, this test currently doesn't 66// work. 67TEST_F(EarlyReturnTest, DISABLED_ToastCrasher) { 68 // UITest will check if this crashed. 69} 70