TEST(BufferedLineReaderTest, BufferSizesMixedEndings) { const char* lines[] = { "aaaaaaaaaaaaaaaa", "bbbbbbbbbb", "ccccccccccccc", "", "dddddd", "eeeeeeeeee", "fffffffffffffffffff" }; const LineBreakType breaks[] = { Cr, Lf, CrLf, Cr, Lf, CrLf, Lf }; const size_t numTestLines = WTF_ARRAY_LENGTH(lines); static_assert(numTestLines == WTF_ARRAY_LENGTH(breaks), "number of test lines and breaks should be the same"); String data = MakeTestData(lines, breaks, numTestLines); for (size_t k = 0; k < WTF_ARRAY_LENGTH(blockSizes); ++k) { size_t lineCount = 0; BufferedLineReader reader; size_t blockSize = blockSizes[k]; for (size_t i = 0; i < data.length(); i += blockSize) { reader.append(data.substring(i, blockSize)); String line; while (reader.getLine(line)) { ASSERT_LT(lineCount, numTestLines); ASSERT_EQ(line, lines[lineCount++]); } } ASSERT_EQ(lineCount, numTestLines); } }
DateTimeRangeTests::DateTimeRangeTests() : ::testing::Test() { MakeTestData(); }