diff options
author | 2021-08-23 02:30:52 -0700 | |
---|---|---|
committer | 2021-08-23 02:30:52 -0700 | |
commit | 945cd08931d70ada914d14c4ab886fcc4493eac1 (patch) | |
tree | ff6c067ea8c8ab5bdf73bbacfb4eda5ccd73e53b | |
parent | afb6684782ffb35f6c750a57426c79ac762acc7b (diff) | |
download | bun-945cd08931d70ada914d14c4ab886fcc4493eac1.tar.gz bun-945cd08931d70ada914d14c4ab886fcc4493eac1.tar.zst bun-945cd08931d70ada914d14c4ab886fcc4493eac1.zip |
Fix bug with copyLowercase and add a test
Former-commit-id: 87946b9fecd8b3e75a5995f38311053ae54b0424
-rw-r--r-- | src/string_immutable.zig | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/string_immutable.zig b/src/string_immutable.zig index 84b72343e..52b7e05ce 100644 --- a/src/string_immutable.zig +++ b/src/string_immutable.zig @@ -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"; |