| Index: components/autofill/core/common/save_password_progress_logger_unittest.cc
|
| diff --git a/components/autofill/core/common/save_password_progress_logger_unittest.cc b/components/autofill/core/common/save_password_progress_logger_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9c0950562a1d1fd287efafbb0a221bfda3b6c09c
|
| --- /dev/null
|
| +++ b/components/autofill/core/common/save_password_progress_logger_unittest.cc
|
| @@ -0,0 +1,153 @@
|
| +// Copyright 2014 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 "components/autofill/core/common/save_password_progress_logger.h"
|
| +
|
| +#include <limits>
|
| +
|
| +#include "base/bind.h"
|
| +#include "base/logging.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/strings/stringprintf.h"
|
| +#include "base/strings/utf_string_conversions.h"
|
| +#include "components/autofill/core/common/password_form.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "url/gurl.h"
|
| +
|
| +using base::UTF8ToUTF16;
|
| +
|
| +namespace autofill {
|
| +
|
| +namespace {
|
| +
|
| +const char kTestString[] = "Test";
|
| +
|
| +class TestLogger : public SavePasswordProgressLogger {
|
| + public:
|
| + bool LogsContainSubstring(const std::string& substring) {
|
| + return accumulated_log_.find(substring) != std::string::npos;
|
| + }
|
| +
|
| + std::string accumulated_log() { return accumulated_log_; }
|
| +
|
| + private:
|
| + virtual void SendLog(const std::string& log) OVERRIDE {
|
| + accumulated_log_.append(log);
|
| + }
|
| +
|
| + std::string accumulated_log_;
|
| +};
|
| +
|
| +}; // namespace
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogPasswordForm) {
|
| + TestLogger logger;
|
| + PasswordForm form;
|
| + form.action = GURL("http://example.org/verysecret?verysecret");
|
| + form.password_value = UTF8ToUTF16("verysecret");
|
| + form.username_value = UTF8ToUTF16("verysecret");
|
| + logger.LogPasswordForm(kTestString, form);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("http://example.org"));
|
| + EXPECT_FALSE(logger.LogsContainSubstring("verysecret"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogHTMLForm) {
|
| + TestLogger logger;
|
| + logger.LogHTMLForm(kTestString,
|
| + "form_name",
|
| + "form_method",
|
| + GURL("http://example.org/verysecret?verysecret"));
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("form_name"));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("form_method"));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("http://example.org"));
|
| + EXPECT_FALSE(logger.LogsContainSubstring("verysecret"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogURL) {
|
| + TestLogger logger;
|
| + logger.LogURL(kTestString, GURL("http://example.org/verysecret?verysecret"));
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("http://example.org"));
|
| + EXPECT_FALSE(logger.LogsContainSubstring("verysecret"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogBooleanTrue) {
|
| + TestLogger logger;
|
| + logger.LogBoolean(kTestString, true);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("true"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogBooleanFalse) {
|
| + TestLogger logger;
|
| + logger.LogBoolean(kTestString, false);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("false"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogSignedNumber) {
|
| + TestLogger logger;
|
| + int signed_number = -12345;
|
| + logger.LogNumber(kTestString, signed_number);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("-12345"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogUnsignedNumber) {
|
| + TestLogger logger;
|
| + size_t unsigned_number = 654321;
|
| + logger.LogNumber(kTestString, unsigned_number);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| + EXPECT_TRUE(logger.LogsContainSubstring("654321"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogFinalDecisionSave) {
|
| + TestLogger logger;
|
| + logger.LogFinalDecision(SavePasswordProgressLogger::DECISION_SAVE);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring("SAVE"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogFinalDecisionAsk) {
|
| + TestLogger logger;
|
| + logger.LogFinalDecision(SavePasswordProgressLogger::DECISION_ASK);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring("ASK"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogFinalDecisionDrop) {
|
| + TestLogger logger;
|
| + logger.LogFinalDecision(SavePasswordProgressLogger::DECISION_DROP);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring("DROP"));
|
| +}
|
| +
|
| +TEST(SavePasswordProgressLoggerTest, LogMessage) {
|
| + TestLogger logger;
|
| + logger.LogMessage(kTestString);
|
| + SCOPED_TRACE(testing::Message() << "Log string = ["
|
| + << logger.accumulated_log() << "]");
|
| + EXPECT_TRUE(logger.LogsContainSubstring(kTestString));
|
| +}
|
| +
|
| +} // namespace autofill
|
|
|