add behavior test @tagName with signed values

This commit is contained in:
Luuk de Gram 2023-10-08 15:23:50 +02:00
parent 8e836cb59a
commit 9402f8b74a
No known key found for this signature in database
GPG Key ID: A8CFE58E4DC7D664

View File

@ -1048,6 +1048,22 @@ test "@tagName on enum literals" {
try comptime expect(mem.eql(u8, @tagName(.FooBar), "FooBar")); try comptime expect(mem.eql(u8, @tagName(.FooBar), "FooBar"));
} }
test "tag name with signed enum values" {
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
const LocalFoo = enum(isize) {
alfa = 62,
bravo = 63,
charlie = 64,
delta = 65,
};
var b = LocalFoo.bravo;
try expect(mem.eql(u8, @tagName(b), "bravo"));
}
test "enum literal casting to optional" { test "enum literal casting to optional" {
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;