std.mem: split: test for multiple seperator bytes;

master
kristopher tate 2018-11-30 02:17:15 +09:00
parent 0f7de58b64
commit ff1b2889f3
No known key found for this signature in database
GPG Key ID: AEE8EEAD03E20816
1 changed files with 19 additions and 0 deletions

View File

@ -654,6 +654,16 @@ test "mem.split" {
assert(it.next() == null);
}
test "mem.split (multibyte)" {
var it = split("a|b,c/d e", " /,|");
assert(eql(u8, it.next().?, "a"));
assert(eql(u8, it.next().?, "b"));
assert(eql(u8, it.next().?, "c"));
assert(eql(u8, it.next().?, "d"));
assert(eql(u8, it.next().?, "e"));
assert(it.next() == null);
}
/// Returns an iterator that iterates over the slices of `buffer` that
/// seperates by bytes in `delimiter`.
/// separate("abc|def||ghi", "|")
@ -694,7 +704,16 @@ test "mem.separate" {
it = separate("hello", " ");
assert(eql(u8, it.next().?, "hello"));
assert(it.next() == null);
}
test "mem.separate (multibyte)" {
var it = separate("a|b,c/d e", " /,|");
assert(eql(u8, it.next().?, "a"));
assert(eql(u8, it.next().?, "b"));
assert(eql(u8, it.next().?, "c"));
assert(eql(u8, it.next().?, "d"));
assert(eql(u8, it.next().?, "e"));
assert(it.next() == null);
}
pub fn startsWith(comptime T: type, haystack: []const T, needle: []const T) bool {