summaryrefslogtreecommitdiff
path: root/asl/tests/string_builder_tests.cpp
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-23 00:17:27 +0100
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-23 00:17:27 +0100
commite5acc1eaa7e342b64ccfaaef5ea502cd623e41d5 (patch)
treed02cba121cbcb1f64570003c5ae448a7ca7c2420 /asl/tests/string_builder_tests.cpp
parent3bf981d5130ba745df5b279af211caf5cc68d8a1 (diff)
Add string_builder
Diffstat (limited to 'asl/tests/string_builder_tests.cpp')
-rw-r--r--asl/tests/string_builder_tests.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/asl/tests/string_builder_tests.cpp b/asl/tests/string_builder_tests.cpp
new file mode 100644
index 0000000..9bb25bd
--- /dev/null
+++ b/asl/tests/string_builder_tests.cpp
@@ -0,0 +1,23 @@
+#include "asl/string_builder.hpp"
+#include "asl/testing/testing.hpp"
+
+ASL_TEST(string_builder)
+{
+ asl::string_builder b;
+ b.push('a');
+ b.push("bcdef");
+ b.push('g');
+
+ ASL_TEST_EXPECT(b.as_string_view() == "abcdefg");
+
+ asl::string s = b.as_string();
+ ASL_TEST_EXPECT(s == "abcdefg");
+}
+
+ASL_TEST(string_builder_rvalue)
+{
+ asl::string s = asl::string_builder{}.push('a').push("bcdef").push('g').finish();
+
+ ASL_TEST_EXPECT(s == "abcdefg");
+}
+