diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-09-23 17:08:40 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-09-24 15:49:56 -0700 |
| commit | cc69315f032239d15496326f79ceec488f188ea9 (patch) | |
| tree | ee6e53ce9812b805265f7ba9be6da3b775e6333f /lib/std/array_hash_map.zig | |
| parent | df5f0517b33b5f7bc2a508cf6a0ee62246f02d21 (diff) | |
| download | zig-cc69315f032239d15496326f79ceec488f188ea9.tar.gz zig-cc69315f032239d15496326f79ceec488f188ea9.zip | |
std.MultiArrayList: add test coverage for 0-bit structs
closes #10618
solved by #17172
Diffstat (limited to 'lib/std/array_hash_map.zig')
| -rw-r--r-- | lib/std/array_hash_map.zig | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/std/array_hash_map.zig b/lib/std/array_hash_map.zig index e170815151..1bb85a255d 100644 --- a/lib/std/array_hash_map.zig +++ b/lib/std/array_hash_map.zig @@ -2336,6 +2336,35 @@ test "sort" { } } +test "0 sized key" { + var map = AutoArrayHashMap(u0, i32).init(std.testing.allocator); + defer map.deinit(); + + try testing.expectEqual(map.get(0), null); + + try map.put(0, 5); + try testing.expectEqual(map.get(0), 5); + + try map.put(0, 10); + try testing.expectEqual(map.get(0), 10); + + try testing.expectEqual(map.swapRemove(0), true); + try testing.expectEqual(map.get(0), null); +} + +test "0 sized key and 0 sized value" { + var map = AutoArrayHashMap(u0, u0).init(std.testing.allocator); + defer map.deinit(); + + try testing.expectEqual(map.get(0), null); + + try map.put(0, 0); + try testing.expectEqual(map.get(0), 0); + + try testing.expectEqual(map.swapRemove(0), true); + try testing.expectEqual(map.get(0), null); +} + pub fn getHashPtrAddrFn(comptime K: type, comptime Context: type) (fn (Context, K) u32) { return struct { fn hash(ctx: Context, key: K) u32 { |
