summaryrefslogtreecommitdiff
path: root/asl/tests/string_view_tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'asl/tests/string_view_tests.cpp')
-rw-r--r--asl/tests/string_view_tests.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/asl/tests/string_view_tests.cpp b/asl/tests/string_view_tests.cpp
index dafb91c..1c12603 100644
--- a/asl/tests/string_view_tests.cpp
+++ b/asl/tests/string_view_tests.cpp
@@ -25,3 +25,38 @@ ASL_TEST(from_literal)
asl::string_view s2 = ""_sv;
ASL_TEST_EXPECT(s2.is_empty());
}
+
+ASL_TEST(substr1)
+{
+ asl::string_view s1 = "abcd";
+
+ asl::string_view s2 = s1.substr(0);
+ ASL_TEST_ASSERT(s2.size() == 4);
+ ASL_TEST_EXPECT(memcmp(s2.data(), "abcd", 4) == 0);
+
+ s2 = s1.substr(2);
+ ASL_TEST_ASSERT(s2.size() == 2);
+ ASL_TEST_EXPECT(memcmp(s2.data(), "cd", 2) == 0);
+
+ s2 = s1.substr(4);
+ ASL_TEST_ASSERT(s2.size() == 0);
+}
+
+ASL_TEST(substr2)
+{
+ asl::string_view s1 = "abcd";
+
+ asl::string_view s2 = s1.substr(0, 4);
+ ASL_TEST_ASSERT(s2.size() == 4);
+ ASL_TEST_EXPECT(memcmp(s2.data(), "abcd", 4) == 0);
+
+ s2 = s1.substr(1, 2);
+ ASL_TEST_ASSERT(s2.size() == 2);
+ ASL_TEST_EXPECT(memcmp(s2.data(), "bc", 2) == 0);
+
+ s2 = s1.substr(4, 0);
+ ASL_TEST_ASSERT(s2.size() == 0);
+
+ s2 = s1.substr(1, 0);
+ ASL_TEST_ASSERT(s2.size() == 0);
+}