// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/apps/app_browsertest_util.h" #include "chrome/browser/extensions/extension_test_message_listener.h" // This class of BrowserTests is a helper to create tests related to crashes in // Chrome Apps. To be tested, the app will have to be placed as any other test // app (see PlatformAppBrowserTest) and will need to send a "Done" message back. // When the "Done" message is received, the test succeed. If it is not, it is // assumed that Chrome has crashed and the test will anyway fail. // // The entry in this file should be something like: // IN_PROC_BROWSER_TEST_F(AppCrashTest, <TEST_NAME>) { // ASSERT_TRUE(RunAppCrashTest("<DIRECTORY_TEST_NAME>")); // } class AppCrashTest : public extensions::PlatformAppBrowserTest { public: bool RunAppCrashTest(const char* name) { ExtensionTestMessageListener listener("Done", false); LoadAndLaunchPlatformApp(name); return listener.WaitUntilSatisfied(); } }; IN_PROC_BROWSER_TEST_F(AppCrashTest, HiddenWindows) { ASSERT_TRUE(RunAppCrashTest("crashtest_hidden_windows")); }