chromium/ios/chrome/browser/infobars/model/test/fake_infobar_delegate.cc

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ios/chrome/browser/infobars/model/test/fake_infobar_delegate.h"

#include "base/strings/utf_string_conversions.h"

FakeInfobarDelegate::FakeInfobarDelegate()
    : FakeInfobarDelegate(
          infobars::InfoBarDelegate::InfoBarIdentifier::TEST_INFOBAR,
          /*title_text=*/std::u16string(),
          u"FakeInfobarDelegate") {}

FakeInfobarDelegate::FakeInfobarDelegate(
    infobars::InfoBarDelegate::InfoBarIdentifier identifier)
    : FakeInfobarDelegate(identifier,
                          /*title_text=*/std::u16string(),
                          u"FakeInfobarDelegate") {}

FakeInfobarDelegate::FakeInfobarDelegate(std::u16string message_text)
    : FakeInfobarDelegate(
          infobars::InfoBarDelegate::InfoBarIdentifier::TEST_INFOBAR,
          /*title_text=*/std::u16string(),
          std::move(message_text)) {}

FakeInfobarDelegate::FakeInfobarDelegate(std::u16string title_text,
                                         std::u16string message_text)
    : FakeInfobarDelegate(
          infobars::InfoBarDelegate::InfoBarIdentifier::TEST_INFOBAR,
          std::move(title_text),
          std::move(message_text)) {}

FakeInfobarDelegate::FakeInfobarDelegate(std::u16string title_text,
                                         std::u16string message_text,
                                         std::u16string button_label_text,
                                         bool use_icon_background_tint,
                                         ui::ImageModel icon)
    : identifier_(infobars::InfoBarDelegate::InfoBarIdentifier::TEST_INFOBAR),
      title_text_(std::move(title_text)),
      message_text_(std::move(message_text)),
      button_label_text_(std::move(button_label_text)),
      use_icon_background_tint_(use_icon_background_tint),
      icon_(icon) {}

FakeInfobarDelegate::FakeInfobarDelegate(
    infobars::InfoBarDelegate::InfoBarIdentifier identifier,
    std::u16string title_text,
    std::u16string message_text)
    : identifier_(identifier),
      title_text_(std::move(title_text)),
      message_text_(std::move(message_text)) {}

FakeInfobarDelegate::~FakeInfobarDelegate() = default;

infobars::InfoBarDelegate::InfoBarIdentifier
FakeInfobarDelegate::GetIdentifier() const {
  return identifier_;
}

// Returns the title string to be displayed for the Infobar.
std::u16string FakeInfobarDelegate::GetTitleText() const {
  return title_text_;
}

// Returns the message string to be displayed for the Infobar.
std::u16string FakeInfobarDelegate::GetMessageText() const {
  return message_text_;
}

// Returns the button label string to be displayed for the Infobar.
std::u16string FakeInfobarDelegate::GetButtonLabel(InfoBarButton button) const {
  return button_label_text_;
}

// Returns true if to use icon background tint for the Infobar.
bool FakeInfobarDelegate::UseIconBackgroundTint() const {
  return use_icon_background_tint_;
}

// Returns the icon for the Infobar.
ui::ImageModel FakeInfobarDelegate::GetIcon() const {
  return icon_;
}