| Index: chrome/test/chromedriver/chrome/console_logger_unittest.cc
|
| diff --git a/chrome/test/chromedriver/chrome/console_logger_unittest.cc b/chrome/test/chromedriver/chrome/console_logger_unittest.cc
|
| index eb8e9ac497da84ef81d5b1e7a2ffd6b0c9ea81d5..099f3e433c9edeed067095a4563216aa80f205ec 100644
|
| --- a/chrome/test/chromedriver/chrome/console_logger_unittest.cc
|
| +++ b/chrome/test/chromedriver/chrome/console_logger_unittest.cc
|
| @@ -18,7 +18,8 @@ namespace {
|
|
|
| class FakeDevToolsClient : public StubDevToolsClient {
|
| public:
|
| - explicit FakeDevToolsClient(const std::string& id) : id_(id) {}
|
| + explicit FakeDevToolsClient(const std::string& id)
|
| + : id_(id), listener_(NULL) {}
|
| virtual ~FakeDevToolsClient() {}
|
|
|
| std::string PopSentCommand() {
|
| @@ -49,6 +50,7 @@ class FakeDevToolsClient : public StubDevToolsClient {
|
| }
|
|
|
| virtual void AddListener(DevToolsEventListener* listener) OVERRIDE {
|
| + CHECK(!listener_);
|
| listener_ = listener;
|
| }
|
|
|
| @@ -57,9 +59,9 @@ class FakeDevToolsClient : public StubDevToolsClient {
|
| }
|
|
|
| private:
|
| - const std::string id_;
|
| - std::list<std::string> sent_command_queue_;
|
| - DevToolsEventListener* listener_;
|
| + const std::string id_; // WebView id.
|
| + std::list<std::string> sent_command_queue_; // Commands that were sent.
|
| + DevToolsEventListener* listener_; // The fake allows only one event listener.
|
| };
|
|
|
| struct LogEntry {
|
| @@ -75,24 +77,29 @@ struct LogEntry {
|
|
|
| class FakeLog : public Log {
|
| public:
|
| - virtual void AddEntry(const base::Time& time,
|
| - Level level,
|
| - const std::string& message) OVERRIDE;
|
| + virtual void AddEntryTimestamped(const base::Time& timestamp,
|
| + Level level,
|
| + const std::string& message) OVERRIDE;
|
|
|
| - ScopedVector<LogEntry> entries;
|
| + const ScopedVector<LogEntry>& GetEntries() {
|
| + return entries_;
|
| + }
|
| +
|
| +private:
|
| + ScopedVector<LogEntry> entries_;
|
| };
|
|
|
| -void FakeLog::AddEntry(
|
| - const base::Time& time, Level level, const std::string& message) {
|
| - entries.push_back(new LogEntry(time, level, message));
|
| +void FakeLog::AddEntryTimestamped(
|
| + const base::Time& timestamp, Level level, const std::string& message) {
|
| + entries_.push_back(new LogEntry(timestamp, level, message));
|
| }
|
|
|
| -void ValidateLogEntry(LogEntry *entry,
|
| - Log::Level expect_level,
|
| - const char* expect_message) {
|
| - EXPECT_EQ(expect_level, entry->level);
|
| +void ValidateLogEntry(const LogEntry *entry,
|
| + Log::Level expected_level,
|
| + const std::string& expected_message) {
|
| + EXPECT_EQ(expected_level, entry->level);
|
| EXPECT_LT(0, entry->timestamp.ToTimeT());
|
| - EXPECT_STREQ(expect_message, entry->message.c_str());
|
| + EXPECT_EQ(expected_message, entry->message);
|
| }
|
|
|
| void ConsoleLogParams(base::DictionaryValue* out_params,
|
| @@ -102,17 +109,17 @@ void ConsoleLogParams(base::DictionaryValue* out_params,
|
| int line,
|
| int column,
|
| const char* text) {
|
| - if (NULL != source)
|
| + if (source != NULL)
|
| out_params->SetString("message.source", source);
|
| - if (NULL != url)
|
| + if (url != NULL)
|
| out_params->SetString("message.url", url);
|
| - if (NULL != level)
|
| + if (level != NULL)
|
| out_params->SetString("message.level", level);
|
| - if (-1 != line)
|
| + if (line != -1)
|
| out_params->SetInteger("message.line", line);
|
| - if (-1 != column)
|
| + if (column != -1)
|
| out_params->SetInteger("message.column", column);
|
| - if (NULL != text)
|
| + if (text != NULL)
|
| out_params->SetString("message.text", text);
|
| }
|
|
|
| @@ -125,8 +132,8 @@ TEST(ConsoleLogger, ConsoleMessages) {
|
|
|
| client.AddListener(&logger);
|
| logger.OnConnected(&client);
|
| - EXPECT_STREQ("Console.enable", client.PopSentCommand().c_str());
|
| - EXPECT_STREQ("", client.PopSentCommand().c_str());
|
| + EXPECT_EQ("Console.enable", client.PopSentCommand());
|
| + EXPECT_TRUE(client.PopSentCommand().empty());
|
|
|
| base::DictionaryValue params1; // All fields are set.
|
| ConsoleLogParams(¶ms1, "source1", "url1", "debug", 10, 1, "text1");
|
| @@ -162,24 +169,24 @@ TEST(ConsoleLogger, ConsoleMessages) {
|
| params8.SetInteger("gaga", 8);
|
| ASSERT_EQ(kOk, client.TriggerEvent("Console.messageAdded", params8).code());
|
|
|
| - EXPECT_STREQ("", client.PopSentCommand().c_str()); // No other commands sent.
|
| + EXPECT_TRUE(client.PopSentCommand().empty()); // No other commands sent.
|
|
|
| - ASSERT_EQ(8u, log.entries.size());
|
| - ValidateLogEntry(log.entries[0], Log::kDebug, "url1 10:1 text1");
|
| - ValidateLogEntry(log.entries[1], Log::kLog, "source2 - text2");
|
| - ValidateLogEntry(log.entries[2], Log::kWarning, "url3 30 text3");
|
| - ValidateLogEntry(log.entries[3], Log::kError, "url4 - text4");
|
| + ASSERT_EQ(8u, log.GetEntries().size());
|
| + ValidateLogEntry(log.GetEntries()[0], Log::kDebug, "url1 10:1 text1");
|
| + ValidateLogEntry(log.GetEntries()[1], Log::kLog, "source2 - text2");
|
| + ValidateLogEntry(log.GetEntries()[2], Log::kWarning, "url3 30 text3");
|
| + ValidateLogEntry(log.GetEntries()[3], Log::kError, "url4 - text4");
|
| ValidateLogEntry(
|
| - log.entries[4], Log::kWarning,
|
| + log.GetEntries()[4], Log::kWarning,
|
| "{\"message\":{\"column\":5,\"level\":\"gaga\",\"line\":50,"
|
| "\"source\":\"source5\",\"text\":\"ulala\",\"url\":\"url5\"}}");
|
| ValidateLogEntry(
|
| - log.entries[5], Log::kWarning,
|
| + log.GetEntries()[5], Log::kWarning,
|
| "{\"message\":{\"column\":6,\"line\":60,"
|
| "\"source\":\"source6\",\"url\":\"url6\"}}");
|
| ValidateLogEntry(
|
| - log.entries[6], Log::kWarning,
|
| + log.GetEntries()[6], Log::kWarning,
|
| "{\"message\":{\"level\":\"log\","
|
| "\"source\":\"source7\",\"url\":\"url7\"}}");
|
| - ValidateLogEntry(log.entries[7], Log::kWarning, "{\"gaga\":8}");
|
| + ValidateLogEntry(log.GetEntries()[7], Log::kWarning, "{\"gaga\":8}");
|
| }
|
|
|