diff --git a/build.zig b/build.zig index ccedb37d83760f9d9fdda9b777be173e015e86a9..039ebe29e6dc3110555da0db2bc84f0a42a813fe 100644 --- a/build.zig +++ b/build.zig @@ -23,6 +23,15 @@ pub fn build(b: *std.Build) void { const run_step = b.step("run", "Run the app"); run_step.dependOn(&run_cmd.step); + const tests = b.addTest(.{ + .root_source_file = b.path("./test.zig"), + .target = target, + .optimize = mode, + }); + deps.addAllTo(tests); + + const tests_run = b.addRunArtifact(tests); + const test_step = b.step("test", "dummy test step to pass CI checks"); - _ = test_step; + test_step.dependOn(&tests_run.step); } diff --git a/test.zig b/test.zig new file mode 100644 index 0000000000000000000000000000000000000000..5f33a5984c23587be5868ceb541f6305f2c9dc41 --- /dev/null +++ b/test.zig @@ -0,0 +1,30 @@ +const std = @import("std"); +const string = []const u8; +const ulid = @import("ulid"); + +// zig fmt: off +test { try ensureFromTo("001HX7QW7K2PP61CS28B4YF00X"); } +test { try ensureFromTo("0015KMZ1NDDFP4WRWSVA31N0CD"); } +test { try ensureFromTo("0015MFYM13K180VCNCACTFRJAB"); } +test { try ensureFromTo("0015RMHR0WVSCBE4CJWKPCC4GJ"); } +test { try ensureFromTo("0017NSY29QD0YYPB0H0W5GQJQX"); } +test { try ensureFromTo("0017TZRGVZYHK9C26FK5AP3HTG"); } +test { try ensureFromTo("0017Y302CVXHJABSPHNNEBE0R7"); } +test { try ensureFromTo("00183KTME6PJZ773Q9A1BWFJ3X"); } +test { try ensureFromTo("0018ZPQ92P0NDDKNVB3PBW7D18"); } +test { try ensureFromTo("00193A6YMTQR01XTY757XRRJKE"); } +test { try ensureFromTo("0019ABB5M0YK71B4ATA90A8F81"); } +test { try ensureFromTo("0019GFR7YK5HNTFPS2BAQNG0PX"); } +test { try ensureFromTo("001A2YPKW942R97BXRAJG2BD7S"); } +test { try ensureFromTo("001C38D808VW1EG3JS6XJHT4EQ"); } +test { try ensureFromTo("001C9DSQ8SC6SVEVHFK09XBFTC"); } +test { try ensureFromTo("001DEJXKVPDV7BZT1Q80ZEN2PF"); } +test { try ensureFromTo("001F1Z79BCKADWYPDCMZ8B8G0G"); } +// zig fmt: on + +fn ensureFromTo(before: string) !void { + const alloc = std.heap.page_allocator; + const ul = try ulid.ULID.parse(alloc, before); + const after = try ul.toString(alloc); + try std.testing.expectEqualStrings(before, after); +}