Improves SkipWhitespace test
This commit is contained in:
parent
a81585b5e2
commit
4d3c64acee
@ -46,18 +46,23 @@ using namespace rapidjson_simd;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
TEST(SIMD, SIMD_SUFFIX(SkipWhitespace)) {
|
TEST(SIMD, SIMD_SUFFIX(SkipWhitespace)) {
|
||||||
char buffer[1025];
|
for (int step = 1; step < 32; step++) {
|
||||||
for (size_t i = 0; i < 1024; i++)
|
char buffer[1025];
|
||||||
buffer[i] = " \t\r\n"[i % 4];
|
for (size_t i = 0; i < 1024; i++)
|
||||||
for (size_t i = 0; i < 1024; i += 31)
|
buffer[i] = " \t\r\n"[i % 4];
|
||||||
buffer[i] = 'X';
|
for (size_t i = 0; i < 1024; i += step)
|
||||||
buffer[1024] = '\0';
|
buffer[i] = 'X';
|
||||||
|
buffer[1024] = '\0';
|
||||||
|
|
||||||
StringStream s(buffer);
|
StringStream s(buffer);
|
||||||
for(;;) {
|
size_t i = 0;
|
||||||
SkipWhitespace(s);
|
for (;;) {
|
||||||
if (s.Peek() == '\0')
|
SkipWhitespace(s);
|
||||||
break;
|
if (s.Peek() == '\0')
|
||||||
EXPECT_EQ('X', s.Take());
|
break;
|
||||||
|
EXPECT_EQ(i, s.Tell());
|
||||||
|
EXPECT_EQ('X', s.Take());
|
||||||
|
i += step;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user