mirror of
https://github.com/oven-sh/bun
synced 2026-02-11 19:38:58 +00:00
Fix bug with copyLowercase and add a test
Former-commit-id: 87946b9fecd8b3e75a5995f38311053ae54b0424
This commit is contained in:
@@ -124,7 +124,7 @@ pub fn copyLowercase(in: string, out: []u8) string {
|
||||
switch (c) {
|
||||
'A'...'Z' => {
|
||||
@setRuntimeSafety(false);
|
||||
@memcpy(out.ptr, in_slice.ptr, i);
|
||||
@memcpy(out_slice.ptr, in_slice.ptr, i);
|
||||
out_slice[i] = std.ascii.toLower(c);
|
||||
const end = i + 1;
|
||||
if (end >= out_slice.len) break :begin;
|
||||
@@ -143,6 +143,22 @@ pub fn copyLowercase(in: string, out: []u8) string {
|
||||
return out[0..in.len];
|
||||
}
|
||||
|
||||
test "copyLowercase" {
|
||||
{
|
||||
var in = "Hello, World!";
|
||||
var out = std.mem.zeroes([in.len]u8);
|
||||
var out_ = copyLowercase(in, &out);
|
||||
try std.testing.expectEqualStrings(out_, "hello, world!");
|
||||
}
|
||||
|
||||
{
|
||||
var in = "_ListCache";
|
||||
var out = std.mem.zeroes([in.len]u8);
|
||||
var out_ = copyLowercase(in, &out);
|
||||
try std.testing.expectEqualStrings(out_, "_listcache");
|
||||
}
|
||||
}
|
||||
|
||||
test "StringOrTinyString" {
|
||||
const correct: string = "helloooooooo";
|
||||
const big = "wawaweewaverylargeihaveachairwawaweewaverylargeihaveachairwawaweewaverylargeihaveachairwawaweewaverylargeihaveachair";
|
||||
|
||||
Reference in New Issue
Block a user