diff options
Diffstat (limited to 'vbench/src/tests/line_reader/line_reader_test.cpp')
-rw-r--r-- | vbench/src/tests/line_reader/line_reader_test.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vbench/src/tests/line_reader/line_reader_test.cpp b/vbench/src/tests/line_reader/line_reader_test.cpp new file mode 100644 index 00000000000..631b2ffc765 --- /dev/null +++ b/vbench/src/tests/line_reader/line_reader_test.cpp @@ -0,0 +1,38 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#include <vespa/vespalib/testkit/testapp.h> +#include <vbench/test/all.h> + +using namespace vbench; + +TEST("line reader") { + SimpleBuffer buffer; + { + BufferedOutput dst(buffer, 64); + dst.append("foo\n"); + dst.append("bar\r\n"); + dst.append("\n"); + dst.append("\rbaz\n"); + dst.append("\r\n"); + dst.append("zzz"); + } + { + LineReader src(buffer, 3); + string str; + EXPECT_TRUE(src.readLine(str)); + EXPECT_EQUAL("foo", str); + EXPECT_TRUE(src.readLine(str)); + EXPECT_EQUAL("bar", str); + EXPECT_TRUE(src.readLine(str)); + EXPECT_EQUAL("", str); + EXPECT_TRUE(src.readLine(str)); + EXPECT_EQUAL("\rbaz", str); + EXPECT_TRUE(src.readLine(str)); + EXPECT_EQUAL("", str); + EXPECT_TRUE(src.readLine(str)); + EXPECT_EQUAL("zzz", str); + EXPECT_TRUE(!src.readLine(str)); + EXPECT_EQUAL("", str); + } +} + +TEST_MAIN() { TEST_RUN_ALL(); } |