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 15 class 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 24 TEST_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 33 class 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 41 TEST_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. 56 class 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. 67 TEST_F(EarlyReturnTest, DISABLED_ToastCrasher) { 68 // UITest will check if this crashed. 69 } 70