mirror of
https://github.com/ziglang/zig.git
synced 2025-12-20 13:13:16 +00:00
and also rename `advancedPrint` to `bufferedPrint` in the zig init templates These are left overs from my previous changes to zig init. The new templating system removes LITNAME because the new restrictions on package names make it redundant with NAME, and the use of underscores for marking templated identifiers lets us template variable names while still keeping zig fmt happy.
27 lines
909 B
Zig
27 lines
909 B
Zig
const std = @import("std");
|
|
const _NAME = @import(".NAME");
|
|
|
|
pub fn main() !void {
|
|
// Prints to stderr, ignoring potential errors.
|
|
std.debug.print("All your {s} are belong to us.\n", .{"codebase"});
|
|
try _NAME.bufferedPrint();
|
|
}
|
|
|
|
test "simple test" {
|
|
var list = std.ArrayList(i32).init(std.testing.allocator);
|
|
defer list.deinit(); // Try commenting this out and see if zig detects the memory leak!
|
|
try list.append(42);
|
|
try std.testing.expectEqual(@as(i32, 42), list.pop());
|
|
}
|
|
|
|
test "fuzz example" {
|
|
const Context = struct {
|
|
fn testOne(context: @This(), input: []const u8) anyerror!void {
|
|
_ = context;
|
|
// Try passing `--fuzz` to `zig build test` and see if it manages to fail this test case!
|
|
try std.testing.expect(!std.mem.eql(u8, "canyoufindme", input));
|
|
}
|
|
};
|
|
try std.testing.fuzz(Context{}, Context.testOne, .{});
|
|
}
|