aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/empty_tuple_fields.zig
blob: 7309dc9b3e9b3b3feb8aa0718d94dab3a3f0b4a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const std = @import("std");
const builtin = @import("builtin");

test "empty file level struct" {
    if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
    if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO

    const T = @import("empty_file_level_struct.zig");
    const info = @typeInfo(T);
    try std.testing.expectEqual(@as(usize, 1), info.Struct.fields.len);
    try std.testing.expectEqualStrings("0", info.Struct.fields[0].name);
    try std.testing.expect(@typeInfo(info.Struct.fields[0].type) == .Struct);
}

test "empty file level union" {
    if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
    if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO

    const T = @import("empty_file_level_union.zig");
    const info = @typeInfo(T);
    try std.testing.expectEqual(@as(usize, 1), info.Struct.fields.len);
    try std.testing.expectEqualStrings("0", info.Struct.fields[0].name);
    try std.testing.expect(@typeInfo(info.Struct.fields[0].type) == .Union);
}