1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

builtin: improve multi-platform portability for string.split_into_lines() (#17078)

This commit is contained in:
Roy Ivy III
2023-01-24 02:02:25 -06:00
committed by GitHub
parent 0230395062
commit 5cd074a49e
4 changed files with 75 additions and 14 deletions

View File

@ -883,7 +883,16 @@ fn filter(b u8) bool {
}
fn test_split_into_lines() {
line_content := 'Line'
line_content := 'line content'
text_cr := '${line_content}\r${line_content}\r${line_content}'
lines_cr := text_cr.split_into_lines()
assert lines_cr.len == 3
for line in lines_cr {
assert line == line_content
}
text_crlf := '${line_content}\r\n${line_content}\r\n${line_content}'
lines_crlf := text_crlf.split_into_lines()
@ -899,6 +908,22 @@ fn test_split_into_lines() {
for line in lines_lf {
assert line == line_content
}
text_mixed := '${line_content}\n${line_content}\r${line_content}'
lines_mixed := text_mixed.split_into_lines()
assert lines_mixed.len == 3
for line in lines_mixed {
assert line == line_content
}
text_mixed_trailers := '${line_content}\n${line_content}\r${line_content}\r\r\r\n\n\n\r\r'
lines_mixed_trailers := text_mixed_trailers.split_into_lines()
assert lines_mixed_trailers.len == 9
for line in lines_mixed_trailers {
assert (line == line_content) || (line == '')
}
}
fn test_string_literal_with_backslash() {