summaryrefslogtreecommitdiff
path: root/test/other/split.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/other/split.cpp')
-rw-r--r--test/other/split.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/other/split.cpp b/test/other/split.cpp
new file mode 100644
index 0000000..e0f5ee1
--- /dev/null
+++ b/test/other/split.cpp
@@ -0,0 +1,24 @@
+#include "../util.h"
+#include <other/split.cpp>
+
+vector<string> split2(string_view s, string_view delim) {
+ vector<string> res;
+ while (!s.empty()) {
+ auto end = s.find_first_of(delim);
+ if (end != 0) res.emplace_back(s.substr(0, end));
+ if (end == string_view::npos) break;
+ s.remove_prefix(end + 1);
+ }
+ return res;
+}
+
+int main() {
+ auto in = "+" + Random::string(100, "abcdef+-*") + "-";
+
+ auto expected = split2(in, "+-*");
+ auto got = split(in, "+-*");
+
+ if (got != expected) cerr << "error" << FAIL;
+ cerr << "done" << endl;
+}
+