13 #include "util/test.h"
14 #include "util/logging.h"
34 {
"0", 0, {
true,
true,
true,
true,
true,
true }},
35 {
"127", 127, {
true,
true,
true,
true,
true,
true }},
38 {
"-1", -1, {
true,
false,
true,
false,
true,
false }},
39 {
"-128", -128, {
true,
false,
true,
false,
true,
false }},
42 {
"128", 128, {
true,
true,
true,
true,
true,
true }},
43 {
"255", 255, {
true,
true,
true,
true,
true,
true }},
46 {
"256", 256, {
true,
true,
true,
true,
true,
true }},
47 {
"32767", 32767, {
true,
true,
true,
true,
true,
true }},
50 {
"-129", -129, {
true,
false,
true,
false,
true,
false }},
51 {
"-32768", -32768, {
true,
false,
true,
false,
true,
false }},
54 {
"32768", 32768, {
false,
true,
true,
true,
true,
true }},
55 {
"65535", 65535, {
false,
true,
true,
true,
true,
true }},
58 {
"65536", 65536, {
false,
false,
true,
true,
true,
true }},
59 {
"2147483647", 2147483647, {
false,
false,
true,
true,
true,
true }},
62 {
"-32769", -32769, {
false,
false,
true,
false,
true,
false }},
63 {
"-2147483648",
static_cast<int64_t>(0xFFFFFFFF80000000
LL),
64 {
false,
false,
true,
false,
true,
false }},
67 {
"2147483648", 2147483648U, {
false,
false,
false,
true,
true,
true }},
68 {
"4294967295", 4294967295U, {
false,
false,
false,
true,
true,
true }},
71 {
"4294967296", 4294967296
LL, {
false,
false,
false,
false,
true,
true }},
72 {
"9223372036854775807",
73 9223372036854775807
LL, {
false,
false,
false,
false,
true,
true }},
76 {
"-2147483649", -2147483649
LL, {
false,
false,
false,
false,
true,
false }},
77 {
"-9223372036854775808",
static_cast<int64_t>(0x8000000000000000
LL),
78 {
false,
false,
false,
false,
true,
false }},
81 {
"9223372036854775808",
static_cast<int64_t>(9223372036854775808
ULL),
82 {
false,
false,
false,
false,
false,
true }},
83 {
"18446744073709551615",
static_cast<int64_t>(18446744073709551615
ULL),
84 {
false,
false,
false,
false,
false,
true }},
87 {
"18446744073709551616", 0, {
false,
false,
false,
false,
false,
false }},
96 #define PARSE_FOR_TYPE(type, column) { \
98 for (int i = 0; i < kNumStrings; ++i) { \
100 const char* const p = kSuccessTable[i].value_string; \
101 bool retval = arg.Parse(p, strlen(p)); \
102 bool success = kSuccessTable[i].success[column]; \
103 EXPECT_EQ(retval, success) \
104 << "Parsing '" << p << "' for type " #type " should return " \
107 EXPECT_EQ(r, (type)kSuccessTable[i].value); \
112 TEST(RE2ArgTest, Int16Test) {
116 TEST(RE2ArgTest, Uint16Test) {
120 TEST(RE2ArgTest, Int32Test) {
124 TEST(RE2ArgTest, Uint32Test) {
128 TEST(RE2ArgTest, Int64Test) {
132 TEST(RE2ArgTest, Uint64Test) {
136 TEST(RE2ArgTest, ParseFromTest) {
137 #if !defined(_MSC_VER)
139 bool ParseFrom(
const char*
str,
size_t n) {
148 bool ParseFrom(
const char*
str,
size_t n) {
153 void ParseFrom(
const char*
str) {}