From 5e1480a7a7537451f7196498ac2988bda8273a9b Mon Sep 17 00:00:00 2001 From: Jimmi Holst Christensen Date: Thu, 6 Sep 2018 17:11:58 +0200 Subject: Removed the extended api. Refactored tests --- tests/core.zig | 120 --------------------------------------------------------- 1 file changed, 120 deletions(-) delete mode 100644 tests/core.zig (limited to 'tests/core.zig') diff --git a/tests/core.zig b/tests/core.zig deleted file mode 100644 index 765b161..0000000 --- a/tests/core.zig +++ /dev/null @@ -1,120 +0,0 @@ -const std = @import("std"); -const clap = @import("../index.zig"); - -const debug = std.debug; -const mem = std.mem; -const core = clap.core; - -const assert = debug.assert; - -const ArgSliceIterator = core.ArgSliceIterator; -const Names = core.Names; -const Param = core.Param; -const Clap = core.Clap; - -fn testNoErr(params: []const Param(u8), args: []const []const u8, ids: []const u8, values: []const ?[]const u8) void { - var arg_iter = ArgSliceIterator.init(args); - var iter = Clap(u8, ArgSliceIterator.Error).init(params, &arg_iter.iter); - - var i: usize = 0; - while (iter.next() catch unreachable) |arg| : (i += 1) { - debug.assert(ids[i] == arg.param.id); - const expected_value = values[i] orelse { - debug.assert(arg.value == null); - continue; - }; - const actual_value = arg.value orelse unreachable; - - debug.assert(mem.eql(u8, expected_value, actual_value)); - } -} - -test "clap.core: short" { - const params = []Param(u8){ - Param(u8).init(0, false, Names.short('a')), - Param(u8).init(1, false, Names.short('b')), - Param(u8).init(2, true, Names.short('c')), - }; - - testNoErr(params, [][]const u8{"-a"}, []u8{0}, []?[]const u8{null}); - testNoErr(params, [][]const u8{ "-a", "-b" }, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"-ab"}, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"-c=100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{"-c100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "-c", "100" }, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "-abc", "100" }, []u8{ 0, 1, 2 }, []?[]const u8{ null, null, "100" }); - testNoErr(params, [][]const u8{"-abc=100"}, []u8{ 0, 1, 2 }, []?[]const u8{ null, null, "100" }); - testNoErr(params, [][]const u8{"-abc100"}, []u8{ 0, 1, 2 }, []?[]const u8{ null, null, "100" }); -} - -test "clap.core: long" { - const params = []Param(u8){ - Param(u8).init(0, false, Names.long("aa")), - Param(u8).init(1, false, Names.long("bb")), - Param(u8).init(2, true, Names.long("cc")), - }; - - testNoErr(params, [][]const u8{"--aa"}, []u8{0}, []?[]const u8{null}); - testNoErr(params, [][]const u8{ "--aa", "--bb" }, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"--cc=100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "--cc", "100" }, []u8{2}, []?[]const u8{"100"}); -} - -test "clap.core: bare" { - const params = []Param(u8){ - Param(u8).init(0, false, Names.bare("aa")), - Param(u8).init(1, false, Names.bare("bb")), - Param(u8).init(2, true, Names.bare("cc")), - }; - - testNoErr(params, [][]const u8{"aa"}, []u8{0}, []?[]const u8{null}); - testNoErr(params, [][]const u8{ "aa", "bb" }, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"cc=100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "cc", "100" }, []u8{2}, []?[]const u8{"100"}); -} - -test "clap.core: none" { - const params = []Param(u8){Param(u8).init(0, true, Names.none())}; - - testNoErr(params, [][]const u8{"aa"}, []u8{0}, []?[]const u8{"aa"}); -} - -test "clap.core: all" { - const params = []Param(u8){ - Param(u8).init(0, false, Names{ - .bare = "aa", - .short = 'a', - .long = "aa", - }), - Param(u8).init(1, false, Names{ - .bare = "bb", - .short = 'b', - .long = "bb", - }), - Param(u8).init(2, true, Names{ - .bare = "cc", - .short = 'c', - .long = "cc", - }), - Param(u8).init(3, true, Names.none()), - }; - - testNoErr(params, [][]const u8{"-a"}, []u8{0}, []?[]const u8{null}); - testNoErr(params, [][]const u8{ "-a", "-b" }, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"-ab"}, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"-c=100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{"-c100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "-c", "100" }, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "-abc", "100" }, []u8{ 0, 1, 2 }, []?[]const u8{ null, null, "100" }); - testNoErr(params, [][]const u8{"-abc=100"}, []u8{ 0, 1, 2 }, []?[]const u8{ null, null, "100" }); - testNoErr(params, [][]const u8{"-abc100"}, []u8{ 0, 1, 2 }, []?[]const u8{ null, null, "100" }); - testNoErr(params, [][]const u8{"--aa"}, []u8{0}, []?[]const u8{null}); - testNoErr(params, [][]const u8{ "--aa", "--bb" }, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"--cc=100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "--cc", "100" }, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{"aa"}, []u8{0}, []?[]const u8{null}); - testNoErr(params, [][]const u8{ "aa", "bb" }, []u8{ 0, 1 }, []?[]const u8{ null, null }); - testNoErr(params, [][]const u8{"cc=100"}, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{ "cc", "100" }, []u8{2}, []?[]const u8{"100"}); - testNoErr(params, [][]const u8{"dd"}, []u8{3}, []?[]const u8{"dd"}); -} -- cgit v1.2.3