blob: b03d1200091d446213460e715c70c64abc7e4da4 [file] [log] [blame]
// 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"));
}