#include "ash/public/cpp/system/toast_data.h"
#include <string>
#include <utility>
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace ash {
TEST(ToastDataTest, InitializedWithProvidedValues) {
ToastData data = ToastData(
"some_id", ToastCatalogName::kDebugCommand, u"some_text",
base::Seconds(1),
true);
data.button_type = ToastData::ButtonType::kTextButton;
data.button_text = u"Dismiss now";
EXPECT_EQ(data.id, "some_id");
EXPECT_EQ(data.catalog_name, ash::ToastCatalogName::kDebugCommand);
EXPECT_EQ(data.text, u"some_text");
EXPECT_EQ(data.duration, base::Seconds(1));
EXPECT_EQ(data.visible_on_lock_screen, true);
EXPECT_EQ(data.button_text, u"Dismiss now");
}
TEST(ToastDataTest, InitializedWithDefaultValues) {
ToastData data = ToastData(
"some_id", ToastCatalogName::kDebugCommand, u"some_text");
EXPECT_EQ(data.duration, ToastData::kDefaultToastDuration);
EXPECT_EQ(data.visible_on_lock_screen, false);
EXPECT_EQ(data.button_text, std::u16string());
}
TEST(ToastDataTest, InitializedWithInfiniteDuration) {
ToastData data = ToastData(
"some_id", ToastCatalogName::kDebugCommand, u"some_text",
ToastData::kInfiniteDuration);
EXPECT_EQ(data.duration, ToastData::kInfiniteDuration);
}
TEST(ToastDataTest, EnforcesMinimumDuration) {
ToastData data = ToastData(
"some_id", ToastCatalogName::kDebugCommand, u"some_text",
base::Milliseconds(1));
EXPECT_EQ(data.duration, ToastData::kMinimumDuration);
}
}