#include "str_utility.hpp" #include #include #include // IWYU pragma: keep #include // IWYU pragma: keep // IWYU pragma: no_include // IWYU pragma: no_include // IWYU pragma: no_include "gtest/gtest_pred_impl.h" // IWYU pragma: no_include namespace { using ::testing::ElementsAre; TEST(Split, PositiveTests) { using bmcweb::split; std::vector vec; split(vec, "xx-abc-xx-abb", '-'); EXPECT_THAT(vec, ElementsAre("xx", "abc", "xx", "abb")); vec.clear(); split(vec, "", '-'); EXPECT_THAT(vec, ElementsAre("")); vec.clear(); split(vec, "foo/", '/'); EXPECT_THAT(vec, ElementsAre("foo", "")); vec.clear(); split(vec, "/bar", '/'); EXPECT_THAT(vec, ElementsAre("", "bar")); vec.clear(); split(vec, "/", '/'); EXPECT_THAT(vec, ElementsAre("", "")); } TEST(Split, Sensor) { using bmcweb::split; std::vector vec; split(vec, "/xyz/openbmc_project/sensors/unit/name", '/'); EXPECT_THAT(vec, ElementsAre("", "xyz", "openbmc_project", "sensors", "unit", "name")); } } // namespace