mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
add tests for new help stuff
This commit is contained in:
parent
69c1dbc9ff
commit
8de26d5382
@ -1532,3 +1532,43 @@ test "custom help" {
|
|||||||
try testing.expectError(error.Help, parseSlice(Args, allocator, &[_][]const u8{"--help"}, options));
|
try testing.expectError(error.Help, parseSlice(Args, allocator, &[_][]const u8{"--help"}, options));
|
||||||
try testing.expectEqualStrings(Args.help, aw.written());
|
try testing.expectEqualStrings(Args.help, aw.written());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test "description" {
|
||||||
|
var arena: std.heap.ArenaAllocator = .init(testing.allocator);
|
||||||
|
defer arena.deinit();
|
||||||
|
const allocator = arena.allocator();
|
||||||
|
|
||||||
|
var aw: Writer.Allocating = .init(allocator);
|
||||||
|
const options = Options{ .prog = "unused-prog", .writer = &aw.writer };
|
||||||
|
|
||||||
|
const Args = struct {
|
||||||
|
pub const description =
|
||||||
|
\\This is a description
|
||||||
|
;
|
||||||
|
};
|
||||||
|
try testing.expectError(error.Help, parseSlice(Args, allocator, &[_][]const u8{"--help"}, options));
|
||||||
|
try testing.expect(mem.indexOf(u8, aw.written(), Args.description) != null);
|
||||||
|
}
|
||||||
|
|
||||||
|
test "field help" {
|
||||||
|
var arena: std.heap.ArenaAllocator = .init(testing.allocator);
|
||||||
|
defer arena.deinit();
|
||||||
|
const allocator = arena.allocator();
|
||||||
|
|
||||||
|
var aw: Writer.Allocating = .init(allocator);
|
||||||
|
const options = Options{ .prog = "unused-prog", .writer = &aw.writer };
|
||||||
|
|
||||||
|
const Args = struct {
|
||||||
|
named: struct {
|
||||||
|
output: []const u8,
|
||||||
|
pub const output_help = "help for output";
|
||||||
|
},
|
||||||
|
positional: struct {
|
||||||
|
args: []const []const u8 = &.{},
|
||||||
|
pub const args_help = "help for args";
|
||||||
|
},
|
||||||
|
};
|
||||||
|
try testing.expectError(error.Help, parseSlice(Args, allocator, &[_][]const u8{"--help"}, options));
|
||||||
|
try testing.expect(mem.indexOf(u8, aw.written(), @FieldType(Args, "named").output_help) != null);
|
||||||
|
try testing.expect(mem.indexOf(u8, aw.written(), @FieldType(Args, "positional").args_help) != null);
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user