1// Copyright (c) 2011 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#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BROWSERTEST_UTIL_H_ 6#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BROWSERTEST_UTIL_H_ 7 8#include "base/strings/string16.h" 9 10namespace task_manager { 11namespace browsertest_util { 12 13// Runs the message loop, observing the task manager, until there are exactly 14// |resource_count| many resources whose titles match the pattern 15// |title_pattern|. The match is done via string_util's base::MatchPattern, so 16// |title_pattern| may contain wildcards like "*". 17// 18// If the wait times out, this test will trigger a gtest failure. To get 19// meaningful errors, tests should wrap invocations of this function with 20// ASSERT_NO_FATAL_FAILURE(). 21void WaitForTaskManagerRows(int resource_count, 22 const base::string16& title_pattern); 23 24// ASCII matcher convenience functions for use with WaitForTaskManagerRows() 25base::string16 MatchTab(const char* title); // "Tab: " + title 26base::string16 MatchAnyTab(); // "Tab: *" 27base::string16 MatchAboutBlankTab(); // "Tab: about:blank" 28base::string16 MatchExtension(const char* title); // "Extension: " + title 29base::string16 MatchAnyExtension(); // "Extension: *" 30base::string16 MatchApp(const char* title); // "App: " + title 31base::string16 MatchAnyApp(); // "App: *" 32base::string16 MatchWebView(const char* title); // "WebView: " + title 33base::string16 MatchAnyWebView(); // "WebView: *" 34base::string16 MatchBackground(const char* title); // "Background: " + title 35base::string16 MatchAnyBackground(); // "Background: *" 36base::string16 MatchPrint(const char* title); // "Print: " + title 37base::string16 MatchAnyPrint(); // "Print: *" 38 39} // namespace browsertest_util 40} // namespace task_manager 41 42#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BROWSERTEST_UTIL_H_ 43