diff options
Diffstat (limited to 'vbench/src/tests/line_reader')
-rw-r--r-- | vbench/src/tests/line_reader/.gitignore | 1 | ||||
-rw-r--r-- | vbench/src/tests/line_reader/CMakeLists.txt | 9 | ||||
-rw-r--r-- | vbench/src/tests/line_reader/FILES | 1 | ||||
-rw-r--r-- | vbench/src/tests/line_reader/line_reader_test.cpp | 38 |
4 files changed, 49 insertions, 0 deletions
diff --git a/vbench/src/tests/line_reader/.gitignore b/vbench/src/tests/line_reader/.gitignore new file mode 100644 index 00000000000..01fa87fd5f8 --- /dev/null +++ b/vbench/src/tests/line_reader/.gitignore @@ -0,0 +1 @@ +vbench_line_reader_test_app diff --git a/vbench/src/tests/line_reader/CMakeLists.txt b/vbench/src/tests/line_reader/CMakeLists.txt new file mode 100644 index 00000000000..5235d4dfe12 --- /dev/null +++ b/vbench/src/tests/line_reader/CMakeLists.txt @@ -0,0 +1,9 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +vespa_add_executable(vbench_line_reader_test_app + SOURCES + line_reader_test.cpp + DEPENDS + vbench_test + vbench +) +vespa_add_test(NAME vbench_line_reader_test_app COMMAND vbench_line_reader_test_app) diff --git a/vbench/src/tests/line_reader/FILES b/vbench/src/tests/line_reader/FILES new file mode 100644 index 00000000000..2611646033f --- /dev/null +++ b/vbench/src/tests/line_reader/FILES @@ -0,0 +1 @@ +line_reader_test.cpp 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(); } |