Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(335)

Unified Diff: chrome/test/base/javascript_browser_test.cc

Issue 2045843002: Move console error detection in browser tests to higher level (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ftp-error
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/base/javascript_browser_test.h ('k') | chrome/test/base/web_ui_browser_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/base/javascript_browser_test.cc
diff --git a/chrome/test/base/javascript_browser_test.cc b/chrome/test/base/javascript_browser_test.cc
index 022956d460117900ac5cd1793b3c79df0c96a140..411fa5f9408654b45500a53faa3b6f4fd9fecd98 100644
--- a/chrome/test/base/javascript_browser_test.cc
+++ b/chrome/test/base/javascript_browser_test.cc
@@ -4,12 +4,33 @@
#include "chrome/test/base/javascript_browser_test.h"
+#include "base/logging.h"
#include "base/path_service.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/common/chrome_paths.h"
#include "content/public/browser/web_ui.h"
#include "ui/base/resource/resource_bundle.h"
+namespace {
+
+bool g_has_console_errors = false;
+bool g_has_console_info = false;
+
+bool LogHandler(int severity,
+ const char* file,
+ int line,
+ size_t message_start,
+ const std::string& str) {
+ if (std::string("CONSOLE") == file) {
+ g_has_console_info = true;
+ if (severity == logging::LOG_ERROR)
+ g_has_console_errors = true;
+ }
+ return false;
+}
+
+} // namespace
+
// static
const base::FilePath::CharType
JavaScriptBrowserTest::kA11yAuditLibraryJSPath[] =
@@ -42,6 +63,10 @@ JavaScriptBrowserTest::~JavaScriptBrowserTest() {
}
void JavaScriptBrowserTest::SetUpOnMainThread() {
+ InProcessBrowserTest::SetUpOnMainThread();
+
+ logging::SetLogMessageHandler(&LogHandler);
+
base::FilePath test_data_directory;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_directory));
test_data_directory = test_data_directory.Append(kWebUITestFolder);
@@ -61,6 +86,11 @@ void JavaScriptBrowserTest::SetUpOnMainThread() {
AddLibrary(base::FilePath(kWebUILibraryJS));
}
+void JavaScriptBrowserTest::TearDownOnMainThread() {
+ logging::SetLogMessageHandler(nullptr);
+ InProcessBrowserTest::TearDownOnMainThread();
+}
+
// TODO(dtseng): Make this return bool (success/failure) and remove ASSERt_TRUE
// calls.
void JavaScriptBrowserTest::BuildJavascriptLibraries(
@@ -121,3 +151,19 @@ base::string16 JavaScriptBrowserTest::BuildRunTestJSCall(
return content::WebUI::GetJavascriptCall(std::string("runTest"),
arguments.get());
}
+
+bool JavaScriptBrowserTest::has_console_errors() const {
+ return g_has_console_errors;
+}
+
+void JavaScriptBrowserTest::set_has_console_errors(bool has_console_errors) {
+ g_has_console_errors = has_console_errors;
+}
+
+bool JavaScriptBrowserTest::has_console_info() const {
+ return g_has_console_info;
+}
+
+void JavaScriptBrowserTest::set_has_console_info(bool has_console_info) {
+ g_has_console_info = has_console_info;
+}
« no previous file with comments | « chrome/test/base/javascript_browser_test.h ('k') | chrome/test/base/web_ui_browser_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698