diff options
author | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-13 00:44:44 +0000 |
---|---|---|
committer | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-13 00:44:44 +0000 |
commit | 2e0e8253a232fa499d22e47753c5bbadaebd69e7 (patch) | |
tree | ec9b78197bf8701b68eaed066414c4d6644a60bf /content/browser/webui/web_ui_browsertest.cc | |
parent | 93b9d6948d212b630a115dc4b77bbe6bf2b3b671 (diff) | |
download | chromium_src-2e0e8253a232fa499d22e47753c5bbadaebd69e7.zip chromium_src-2e0e8253a232fa499d22e47753c5bbadaebd69e7.tar.gz chromium_src-2e0e8253a232fa499d22e47753c5bbadaebd69e7.tar.bz2 |
Add initial changes to intercept logging.
BUG=none
TEST=Added new test to call console.error
Review URL: http://codereview.chromium.org/6816034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81342 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/webui/web_ui_browsertest.cc')
-rw-r--r-- | content/browser/webui/web_ui_browsertest.cc | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/content/browser/webui/web_ui_browsertest.cc b/content/browser/webui/web_ui_browsertest.cc index c052548..be72c48 100644 --- a/content/browser/webui/web_ui_browsertest.cc +++ b/content/browser/webui/web_ui_browsertest.cc @@ -4,6 +4,9 @@ #include "content/browser/webui/web_ui_browsertest.h" +#include <string> +#include <vector> + #include "base/path_service.h" #include "chrome/browser/ui/browser.h" #include "chrome/common/chrome_paths.h" @@ -15,6 +18,18 @@ static const FilePath::CharType* kWebUILibraryJS = FILE_PATH_LITERAL("test_api.js"); static const FilePath::CharType* kWebUITestFolder = FILE_PATH_LITERAL("webui"); +static std::vector<std::string> error_messages_; + +// Intercepts all log messages. +bool LogHandler(int severity, + const char* file, + int line, + size_t message_start, + const std::string& str) { + if (severity == logging::LOG_ERROR) + error_messages_.push_back(str); + return true; +} WebUIBrowserTest::~WebUIBrowserTest() {} @@ -72,7 +87,16 @@ bool WebUIBrowserTest::RunJavascriptUsingHandler( content.append(called_function); } SetupHandlers(); - return test_handler_->RunJavascript(content, is_test); + logging::SetLogMessageHandler(&LogHandler); + bool result = test_handler_->RunJavascript(content, is_test); + logging::SetLogMessageHandler(NULL); + + if (error_messages_.size() > 0) { + LOG(ERROR) << "Encountered javascript console error(s)"; + result = false; + error_messages_.clear(); + } + return result; } void WebUIBrowserTest::SetupHandlers() { @@ -99,4 +123,5 @@ IN_PROC_BROWSER_TEST_F(WebUIBrowserTest, TestSamplePass) { ASSERT_TRUE(RunJavascriptTest("testAssertFalse")); ASSERT_TRUE(RunJavascriptTest("testInitialFocus")); + ASSERT_FALSE(RunJavascriptTest("testConsoleError")); } |