From ffd00db48888d497bb66e730039084f49b567db5 Mon Sep 17 00:00:00 2001 From: Jimmi Holst Christensen Date: Thu, 6 Sep 2018 17:24:23 +0200 Subject: Added example to tests --- test.zig | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'test.zig') diff --git a/test.zig b/test.zig index 1708353..833367e 100644 --- a/test.zig +++ b/test.zig @@ -196,3 +196,32 @@ test "clap: all" { }, ); } + +test "clap.Example" { + const program_args = [][]const u8{ + "-h", "--help", + "-v", "--version", + "file.zig", + }; + + const warn = @import("std").debug.warn; + const c = @import("clap.zig"); + + const params = []c.Param(u8){ + c.Param(u8).init('h', false, c.Names.prefix("help")), + c.Param(u8).init('v', false, c.Names.prefix("version")), + c.Param(u8).init('f', true, c.Names.none()), + }; + + var iter = &c.ArgSliceIterator.init(program_args).iter; + var parser = c.Clap(u8, c.ArgSliceIterator.Error).init(params, iter); + + while (parser.next() catch unreachable) |arg| { + switch (arg.param.id) { + 'h' => warn("Help!\n"), + 'v' => warn("1.1.1\n"), + 'f' => warn("{}\n", arg.value.?), + else => unreachable, + } + } +} \ No newline at end of file -- cgit v1.2.3