summaryrefslogtreecommitdiffstats
path: root/test/string_view_test.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:44:33 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:44:33 +0000
commitb196c6498d22e47bb9d0da0153068ec54eac7956 (patch)
tree1a994a492581e93224a7ee6455f5d4e9d2ec8e59 /test/string_view_test.cpp
parentInitial commit. (diff)
downloadopentracing-cpp-b196c6498d22e47bb9d0da0153068ec54eac7956.tar.xz
opentracing-cpp-b196c6498d22e47bb9d0da0153068ec54eac7956.zip
Adding upstream version 1.6.0.upstream/1.6.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/string_view_test.cpp')
-rw-r--r--test/string_view_test.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/string_view_test.cpp b/test/string_view_test.cpp
new file mode 100644
index 0000000..33a8bc4
--- /dev/null
+++ b/test/string_view_test.cpp
@@ -0,0 +1,49 @@
+#include <opentracing/string_view.h> // test include guard
+#include <opentracing/string_view.h>
+
+#define CATCH_CONFIG_MAIN
+#include <opentracing/catch2/catch.hpp>
+
+using namespace opentracing;
+
+TEST_CASE("string_view") {
+ SECTION("A default-constructed string_view is empty.") {
+ string_view ref;
+ CHECK(nullptr == ref.data());
+ CHECK(0 == ref.length());
+ }
+
+ SECTION("string_view can be initialized from a c-string.") {
+ const char* val = "hello world";
+
+ string_view ref(val);
+
+ CHECK(val == ref.data());
+ CHECK(std::strlen(val) == ref.length());
+ }
+
+ SECTION("string_view can be initialized from an std::string.") {
+ const std::string val = "hello world";
+
+ string_view ref(val);
+
+ CHECK(val == ref.data());
+ CHECK(val.length() == ref.length());
+ }
+
+ SECTION("A copied string_view points to the same data as its source.") {
+ const std::string val = "hello world";
+
+ string_view ref(val);
+ string_view cpy(ref);
+
+ CHECK(val == cpy.data());
+ CHECK(val.length() == cpy.length());
+ }
+
+ SECTION("operator[] can be used to access characters in a string_view") {
+ string_view s = "abc123";
+ CHECK(&s[0] == s.data());
+ CHECK(&s[1] == s.data() + 1);
+ }
+}