|
@@ -456,4 +456,23 @@ TEST(StringRefTest, getAsInteger) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+static const char* BadStrings[] = {
|
|
|
+ "18446744073709551617" // value just over max
|
|
|
+ , "123456789012345678901" // value way too large
|
|
|
+ , "4t23v" // illegal decimal characters
|
|
|
+ , "0x123W56" // illegal hex characters
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+TEST(StringRefTest, getAsUnsignedIntegerBadStrings) {
|
|
|
+ uint64_t U64;
|
|
|
+ for (size_t i = 0; i < array_lengthof(BadStrings); ++i) {
|
|
|
+ bool IsBadNumber = getAsUnsignedInteger(BadStrings[i], 0, U64);
|
|
|
+ ASSERT_TRUE(IsBadNumber);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
} // end anonymous namespace
|