Improves SkipWhitespace coverage
This commit is contained in:
parent
ee505261c1
commit
998e76fecc
@ -46,16 +46,18 @@ using namespace rapidjson_simd;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
TEST(SIMD, SIMD_SUFFIX(SkipWhitespace)) {
|
TEST(SIMD, SIMD_SUFFIX(SkipWhitespace)) {
|
||||||
char buffer[258];
|
char buffer[257];
|
||||||
for (size_t i = 0; i < 256; i++)
|
for (size_t i = 0; i < 256; i++)
|
||||||
buffer[i] = " \t\r\n"[i % 4];
|
buffer[i] = " \t\r\n"[i % 4];
|
||||||
buffer[256] = 'X';
|
for (size_t i = 0; i < 256; i += 15)
|
||||||
buffer[257] = '\0';
|
buffer[i] = 'X';
|
||||||
|
buffer[256] = '\0';
|
||||||
|
|
||||||
// Try to start from different position, to test different memory alignments
|
StringStream s(buffer);
|
||||||
for (size_t i = 0; i < 256; i++) {
|
for(;;) {
|
||||||
StringStream s(buffer + i);
|
|
||||||
SkipWhitespace(s);
|
SkipWhitespace(s);
|
||||||
EXPECT_EQ('X', s.Peek());
|
if (s.Peek() == '\0')
|
||||||
|
break;
|
||||||
|
EXPECT_EQ('X', s.Take());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user