blob: 9b82903f3fff13ee3f71aa346ba8a7a2afa3fc24 [file] [log] [blame] [edit]
#include "upb/base/string_view.h"
#include <string>
#include <gtest/gtest.h>
namespace {
TEST(upb_StringView, Compare_Eq) {
std::string s1("12345");
std::string s2("12345");
upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size());
upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size());
ASSERT_EQ(upb_StringView_Compare(h1, h2), 0);
}
TEST(upb_StringView, Compare_Eq_Shorter) {
std::string s1("1234"); // s1 is shorter.
std::string s2("12345");
upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size());
upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size());
ASSERT_LT(upb_StringView_Compare(h1, h2), 0);
}
TEST(upb_StringView, Compare_Eq_Longer) {
std::string s1("123456"); // s1 is longer.
std::string s2("12345");
upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size());
upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size());
ASSERT_GT(upb_StringView_Compare(h1, h2), 0);
}
TEST(upb_StringView, Compare_Less) {
std::string s1("12245"); // 2 < 3
std::string s2("12345");
upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size());
upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size());
ASSERT_LT(upb_StringView_Compare(h1, h2), 0);
}
TEST(upb_StringView, Compare_Greater) {
std::string s1("12445"); // 4 > 3
std::string s2("12345");
upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size());
upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size());
ASSERT_GT(upb_StringView_Compare(h1, h2), 0);
}
TEST(upb_StringView, Compare_Greater_Shorter) {
std::string s1("1244"); // s1 is shorter but 4 > 3.
std::string s2("12345");
upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size());
upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size());
ASSERT_GT(upb_StringView_Compare(h1, h2), 0);
}
} // namespace