builtin: implement a JS version of string.split_any (#21612)

This commit is contained in:
Juan de Bruin 2024-06-08 06:10:57 +02:00 committed by GitHub
parent ff865ea110
commit da4afef0d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 92 additions and 1 deletions

View file

@ -232,6 +232,51 @@ fn test_split() {
assert vals[1] == ''
}
fn test_split_any() {
mut s := 'aaa'
mut a := s.split_any('')
assert a.len == 3
assert a[0] == 'a'
assert a[1] == 'a'
assert a[2] == 'a'
s = ''
a = s.split_any('')
assert a.len == 0
s = '12131415'
a = s.split_any('1')
assert a.len == 5
assert a[0] == ''
assert a[1] == '2'
assert a[2] == '3'
assert a[3] == '4'
assert a[4] == '5'
s = '12131415'
a = s.split_any('2345')
assert a.len == 4
assert a[0] == '1'
assert a[1] == '1'
assert a[2] == '1'
assert a[3] == '1'
s = 'a,b,c'
a = s.split_any('],')
assert a.len == 3
assert a[0] == 'a'
assert a[1] == 'b'
assert a[2] == 'c'
s = 'a]b]c'
a = s.split_any('],')
assert a.len == 3
assert a[0] == 'a'
assert a[1] == 'b'
assert a[2] == 'c'
s = 'a]b]c'
a = s.split_any('],\\')
assert a.len == 3
assert a[0] == 'a'
assert a[1] == 'b'
assert a[2] == 'c'
}
/*
fn test_trim_space() {
a := ' a '