| 27 | namespace re2 { |
| 28 | |
| 29 | TEST(RE2, HexTests) { |
| 30 | #define ASSERT_HEX(type, value) \ |
| 31 | do { \ |
| 32 | type v; \ |
| 33 | ASSERT_TRUE( \ |
| 34 | RE2::FullMatch(#value, "([0-9a-fA-F]+)[uUlL]*", RE2::Hex(&v))); \ |
| 35 | ASSERT_EQ(v, 0x##value); \ |
| 36 | ASSERT_TRUE(RE2::FullMatch("0x" #value, "([0-9a-fA-FxX]+)[uUlL]*", \ |
| 37 | RE2::CRadix(&v))); \ |
| 38 | ASSERT_EQ(v, 0x##value); \ |
| 39 | } while (0) |
| 40 | |
| 41 | ASSERT_HEX(short, 2bad); |
| 42 | ASSERT_HEX(unsigned short, 2badU); |
| 43 | ASSERT_HEX(int, dead); |
| 44 | ASSERT_HEX(unsigned int, deadU); |
| 45 | ASSERT_HEX(long, 7eadbeefL); |
| 46 | ASSERT_HEX(unsigned long, deadbeefUL); |
| 47 | ASSERT_HEX(long long, 12345678deadbeefLL); |
| 48 | ASSERT_HEX(unsigned long long, cafebabedeadbeefULL); |
| 49 | |
| 50 | #undef ASSERT_HEX |
| 51 | } |
| 52 | |
| 53 | TEST(RE2, OctalTests) { |
| 54 | #define ASSERT_OCTAL(type, value) \ |
nothing calls this directly
no test coverage detected