summaryrefslogtreecommitdiff
path: root/src/unit_tests.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-10-19 16:27:36 +0100
committerMaxime Coste <frrrwww@gmail.com>2014-10-19 16:27:36 +0100
commit69113e2711e59da42df5658ab18c7d1847d6db12 (patch)
tree964a5541d5484d7221b10e880d8350ba3d7ab250 /src/unit_tests.cc
parent2e0b4d02b7ee6140e509d1434cba1879520fcb23 (diff)
Add a split function that does not take an escape and returns StringViews
When an escape character is not present, split can just return sub strings of the parameter, so we can avoid duplicating the original string data.
Diffstat (limited to 'src/unit_tests.cc')
-rw-r--r--src/unit_tests.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/unit_tests.cc b/src/unit_tests.cc
index 82dd3ca2..a74326fc 100644
--- a/src/unit_tests.cc
+++ b/src/unit_tests.cc
@@ -113,6 +113,15 @@ void test_string()
kak_assert(splited[3] == "tchou:kanaky");
kak_assert(splited[4] == "hihi:");
+ std::vector<StringView> splitedview = split("youpi:matin::tchou\\:kanaky:hihi\\:", ':');
+ kak_assert(splitedview[0] == "youpi");
+ kak_assert(splitedview[1] == "matin");
+ kak_assert(splitedview[2] == "");
+ kak_assert(splitedview[3] == "tchou\\");
+ kak_assert(splitedview[4] == "kanaky");
+ kak_assert(splitedview[5] == "hihi\\");
+ kak_assert(splitedview[6] == "");
+
String escaped = escape("youpi:matin:tchou:", ':', '\\');
kak_assert(escaped == "youpi\\:matin\\:tchou\\:");