| 29 | using testing::NotNull; |
| 30 | |
| 31 | TEST(ParseNarrowSignedIntegers, Sample) { |
| 32 | int16_t i16; |
| 33 | |
| 34 | EXPECT_FALSE(ParseNumber(nullptr, &i16)); |
| 35 | EXPECT_FALSE(ParseNumber("", &i16)); |
| 36 | EXPECT_FALSE(ParseNumber("0=", &i16)); |
| 37 | |
| 38 | EXPECT_TRUE(ParseNumber("0", &i16)); |
| 39 | EXPECT_EQ(0, i16); |
| 40 | EXPECT_TRUE(ParseNumber("32767", &i16)); |
| 41 | EXPECT_EQ(32767, i16); |
| 42 | EXPECT_TRUE(ParseNumber("-32768", &i16)); |
| 43 | EXPECT_EQ(-32768, i16); |
| 44 | EXPECT_TRUE(ParseNumber("-0", &i16)); |
| 45 | EXPECT_EQ(0, i16); |
| 46 | |
| 47 | // These are out of range, so they should return an error. |
| 48 | // The error code depends on whether this is an optional value. |
| 49 | EXPECT_FALSE(ParseNumber("32768", &i16)); |
| 50 | EXPECT_FALSE(ParseNumber("65535", &i16)); |
| 51 | |
| 52 | // Check hex parsing. |
| 53 | EXPECT_TRUE(ParseNumber("0x7fff", &i16)); |
| 54 | EXPECT_EQ(32767, i16); |
| 55 | // This is out of range. |
| 56 | EXPECT_FALSE(ParseNumber("0xffff", &i16)); |
| 57 | } |
| 58 | |
| 59 | TEST(ParseNarrowUnsignedIntegers, Sample) { |
| 60 | uint16_t u16; |
nothing calls this directly
no test coverage detected