zig/test/behavior/bugs/11995.zig
r00ster91 5ecc2b99af behavior: more test coverage
Closes #12450
Closes #13113
Closes #12051
Closes #12092
Closes #12119
Closes #12142
Closes #12450
Closes #13113
Closes #11995
Closes #12000
2022-12-21 23:34:22 +01:00

35 lines
1.4 KiB
Zig

const std = @import("std");
const testing = std.testing;
const builtin = @import("builtin");
fn wuffs_base__make_io_buffer(arg_data: wuffs_base__slice_u8, arg_meta: *wuffs_base__io_buffer_meta) callconv(.C) void {
arg_data.ptr[0] = 'w';
arg_meta.closed = false;
}
const wuffs_base__io_buffer_meta = extern struct {
wi: usize,
ri: usize,
pos: u64,
closed: bool,
};
const wuffs_base__slice_u8 = extern struct {
ptr: [*c]u8,
len: usize,
};
test {
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
var string: [5]u8 = "hello".*;
const arg_data = wuffs_base__slice_u8{ .ptr = @ptrCast([*c]u8, &string), .len = string.len };
var arg_meta = wuffs_base__io_buffer_meta{ .wi = 1, .ri = 2, .pos = 3, .closed = true };
wuffs_base__make_io_buffer(arg_data, &arg_meta);
try std.testing.expectEqualStrings("wello", arg_data.ptr[0..arg_data.len]);
try std.testing.expectEqual(@as(usize, 1), arg_meta.wi);
try std.testing.expectEqual(@as(usize, 2), arg_meta.ri);
try std.testing.expectEqual(@as(u64, 3), arg_meta.pos);
try std.testing.expect(!arg_meta.closed);
}