diff options
author | Milo Yip <miloyip@gmail.com> | 2016-04-16 10:19:34 +0300 |
---|---|---|
committer | Milo Yip <miloyip@gmail.com> | 2016-04-16 10:19:34 +0300 |
commit | 3da4afd259667ce57b5b41db4a0e589ba861d1a9 (patch) | |
tree | 4241535c174954cde7a015ad41fb67270dffb4ca | |
parent | 8fcc65bf581b6da1c3fc04a5c39222f2dbdce08f (diff) |
Another trial on writer coverage
-rw-r--r-- | test/unittest/simdtest.cpp | 40 | ||||
-rw-r--r-- | test/unittest/writertest.cpp | 6 |
2 files changed, 27 insertions, 19 deletions
diff --git a/test/unittest/simdtest.cpp b/test/unittest/simdtest.cpp index 1b6fcef3..84f8cb05 100644 --- a/test/unittest/simdtest.cpp +++ b/test/unittest/simdtest.cpp @@ -105,24 +105,28 @@ struct ScanCopyUnescapedStringHandler : BaseReaderHandler<UTF8<>, ScanCopyUnesca template <unsigned parseFlags, typename StreamType> void TestScanCopyUnescapedString() { - for (size_t step = 0; step < 1024; step++) { - char json[1024 + 5]; - char *p = json; - *p ++= '\"'; - for (size_t i = 0; i < step; i++) - *p++= "ABCD"[i % 4]; - *p++ = '\\'; - *p++ = '\\'; - *p++ = '\"'; - *p++ = '\0'; - - StreamType s(json); - Reader reader; - ScanCopyUnescapedStringHandler h; - reader.Parse<parseFlags>(s, h); - EXPECT_TRUE(memcmp(h.buffer, json + 1, step) == 0); - EXPECT_EQ('\\', h.buffer[step]); // escaped - EXPECT_EQ('\0', h.buffer[step + 1]); + char buffer[1024 + 5 + 32]; + + for (size_t offset = 0; offset < 32; offset++) { + for (size_t step = 0; step < 1024; step++) { + char* json = buffer + offset; + char *p = json; + *p++ = '\"'; + for (size_t i = 0; i < step; i++) + *p++ = "ABCD"[i % 4]; + *p++ = '\\'; + *p++ = '\\'; + *p++ = '\"'; + *p++ = '\0'; + + StreamType s(json); + Reader reader; + ScanCopyUnescapedStringHandler h; + reader.Parse<parseFlags>(s, h); + EXPECT_TRUE(memcmp(h.buffer, json + 1, step) == 0); + EXPECT_EQ('\\', h.buffer[step]); // escaped + EXPECT_EQ('\0', h.buffer[step + 1]); + } } } diff --git a/test/unittest/writertest.cpp b/test/unittest/writertest.cpp index af09f8b3..9c68c539 100644 --- a/test/unittest/writertest.cpp +++ b/test/unittest/writertest.cpp @@ -448,6 +448,10 @@ TEST(Writer, NaN) { StringBuffer buffer; Writer<StringBuffer> writer(buffer); EXPECT_FALSE(writer.Double(nan)); + + GenericStringBuffer<UTF16<> > buffer2; + Writer<GenericStringBuffer<UTF16<> > > writer2(buffer2); + EXPECT_FALSE(writer2.Double(nan)); } TEST(Writer, Inf) { @@ -456,7 +460,7 @@ TEST(Writer, Inf) { StringBuffer buffer; { Writer<StringBuffer> writer(buffer); - EXPECT_FALSE(writer.Double(inf)); + EXPECT_FALSE(writer.Double(inf)); } { Writer<StringBuffer> writer(buffer); |