MCPcopy Create free account
hub / github.com/KhronosGroup/SPIRV-Tools / TEST

Function TEST

test/parse_number_test.cpp:31–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29using testing::NotNull;
30
31TEST(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
59TEST(ParseNarrowUnsignedIntegers, Sample) {
60 uint16_t u16;

Callers

nothing calls this directly

Calls 10

ParseNumberFunction · 0.85
ParseAndEncodeNumberFunction · 0.85
getAsFloatMethod · 0.45
valueMethod · 0.45
get_valueMethod · 0.45
sizeMethod · 0.45
clearMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected