Loading system/gd/common/strings.h +9 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ std::string ToHexString(T x) { } template <> inline std::string ToHexString<signed long>(signed long x) { inline std::string ToHexString<>(signed long x) { if (x < 0) { if (x == LONG_MIN) return "LONG_MIN"; return "-" + ToHexString<signed long>(-x); Loading @@ -60,6 +60,14 @@ inline std::string ToHexString<signed long>(signed long x) { return tmp.str(); } template <> inline std::string ToHexString<>(unsigned int x) { std::stringstream tmp; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(unsigned int) * 2) << (unsigned long)x; return tmp.str(); } // Convert value into a hex decimal formatted string in lower case, prefixed with 0s template <class InputIt> std::string ToHexString(InputIt first, InputIt last) { Loading system/gd/common/strings_test.cc +10 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,16 @@ TEST(StringsTest, to_hex_string_from_number) { ASSERT_EQ(ToHexString('a'), "0x61"); } TEST(StringsTest, to_hex_string_from_number_unsigned_int) { ASSERT_EQ(ToHexString(0U), "0x00000000"); ASSERT_EQ(ToHexString(1U), "0x00000001"); ASSERT_EQ(ToHexString(3U), "0x00000003"); ASSERT_EQ(ToHexString(25U), "0x00000019"); ASSERT_EQ(ToHexString(UINT_MAX), "0xffffffff"); ASSERT_EQ(ToHexString(1U + UINT_MAX), "0x00000000"); // Rolled over ASSERT_EQ(ToHexString(2U + UINT_MAX), "0x00000001"); // Rolled over } TEST(StringsTest, trim_string_test) { ASSERT_EQ(StringTrim(" aa bb"), "aa bb"); ASSERT_EQ(StringTrim("aa bb "), "aa bb"); Loading Loading
system/gd/common/strings.h +9 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ std::string ToHexString(T x) { } template <> inline std::string ToHexString<signed long>(signed long x) { inline std::string ToHexString<>(signed long x) { if (x < 0) { if (x == LONG_MIN) return "LONG_MIN"; return "-" + ToHexString<signed long>(-x); Loading @@ -60,6 +60,14 @@ inline std::string ToHexString<signed long>(signed long x) { return tmp.str(); } template <> inline std::string ToHexString<>(unsigned int x) { std::stringstream tmp; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(unsigned int) * 2) << (unsigned long)x; return tmp.str(); } // Convert value into a hex decimal formatted string in lower case, prefixed with 0s template <class InputIt> std::string ToHexString(InputIt first, InputIt last) { Loading
system/gd/common/strings_test.cc +10 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,16 @@ TEST(StringsTest, to_hex_string_from_number) { ASSERT_EQ(ToHexString('a'), "0x61"); } TEST(StringsTest, to_hex_string_from_number_unsigned_int) { ASSERT_EQ(ToHexString(0U), "0x00000000"); ASSERT_EQ(ToHexString(1U), "0x00000001"); ASSERT_EQ(ToHexString(3U), "0x00000003"); ASSERT_EQ(ToHexString(25U), "0x00000019"); ASSERT_EQ(ToHexString(UINT_MAX), "0xffffffff"); ASSERT_EQ(ToHexString(1U + UINT_MAX), "0x00000000"); // Rolled over ASSERT_EQ(ToHexString(2U + UINT_MAX), "0x00000001"); // Rolled over } TEST(StringsTest, trim_string_test) { ASSERT_EQ(StringTrim(" aa bb"), "aa bb"); ASSERT_EQ(StringTrim("aa bb "), "aa bb"); Loading