summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test.zig29
1 files changed, 29 insertions, 0 deletions
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" {
196 }, 196 },
197 ); 197 );
198} 198}
199
200test "clap.Example" {
201 const program_args = [][]const u8{
202 "-h", "--help",
203 "-v", "--version",
204 "file.zig",
205 };
206
207 const warn = @import("std").debug.warn;
208 const c = @import("clap.zig");
209
210 const params = []c.Param(u8){
211 c.Param(u8).init('h', false, c.Names.prefix("help")),
212 c.Param(u8).init('v', false, c.Names.prefix("version")),
213 c.Param(u8).init('f', true, c.Names.none()),
214 };
215
216 var iter = &c.ArgSliceIterator.init(program_args).iter;
217 var parser = c.Clap(u8, c.ArgSliceIterator.Error).init(params, iter);
218
219 while (parser.next() catch unreachable) |arg| {
220 switch (arg.param.id) {
221 'h' => warn("Help!\n"),
222 'v' => warn("1.1.1\n"),
223 'f' => warn("{}\n", arg.value.?),
224 else => unreachable,
225 }
226 }
227} \ No newline at end of file