#include #include #include using namespace mbgl; using namespace mbgl::style::expression; TEST(Formatted, Equality) { Formatted text{"Formatted"}; auto emptyImage = FormattedSection{style::expression::Image("Formatted")}; Formatted image{std::vector{emptyImage}}; EXPECT_FALSE(text == image); EXPECT_EQ(text, text); EXPECT_EQ(image, image); } TEST(Formatted, Empty) { Formatted emptyFormatted{""}; EXPECT_TRUE(emptyFormatted.empty()); auto emptyText = FormattedSection{"", nullopt, nullopt, nullopt}; auto emptyImage = FormattedSection{style::expression::Image()}; Formatted multipleEmptySections{std::vector{emptyText, emptyText, emptyText}}; EXPECT_TRUE(multipleEmptySections.empty()); Formatted multipleEmptySectionsWithImage{std::vector{emptyText, emptyImage, emptyText}}; EXPECT_TRUE(multipleEmptySectionsWithImage.empty()); auto text = FormattedSection{"Formatted", nullopt, nullopt, nullopt}; auto image = FormattedSection{style::expression::Image("Image")}; Formatted multipleSections{std::vector{emptyText, text, emptyText}}; EXPECT_FALSE(multipleSections.empty()); Formatted multipleSectionsWithImage{std::vector{emptyText, image, text}}; EXPECT_FALSE(multipleSectionsWithImage.empty()); } TEST(Formatted, ToString) { Formatted emptyFormatted{""}; EXPECT_EQ(emptyFormatted.toString(), ""); auto text = FormattedSection{"Formatted", nullopt, nullopt, nullopt}; Formatted multipleSections{std::vector{text, text}}; EXPECT_EQ(multipleSections.toString(), "FormattedFormatted"); auto image = FormattedSection{style::expression::Image("Image")}; Formatted multipleEmptySectionsWithImage{std::vector{text, image}}; EXPECT_EQ(multipleEmptySectionsWithImage.toString(), "Formatted"); }