diff options
| author | Taylan Kammer <taylan.kammer@gmail.com> | 2026-01-07 03:30:11 +0100 |
|---|---|---|
| committer | Taylan Kammer <taylan.kammer@gmail.com> | 2026-01-07 03:30:11 +0100 |
| commit | 344ab30c2155b855a1fcd98027199026d4f467d7 (patch) | |
| tree | c029d65e5463a8b7f67ac5a932de22e2ffef5d22 /src/test | |
| parent | c575aafc23cf20cee76653a179384357cdb918f2 (diff) | |
Code cleanup.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/data/string.txt | 2 | ||||
| -rw-r--r-- | src/test/parse.zig | 14 | ||||
| -rw-r--r-- | src/test/strings.zig | 24 |
3 files changed, 16 insertions, 24 deletions
diff --git a/src/test/data/string.txt b/src/test/data/string.txt index 31382be..79f0abf 100644 --- a/src/test/data/string.txt +++ b/src/test/data/string.txt @@ -1 +1 @@ -foo bar baz
\ No newline at end of file +This is a very long string blah blub blip blop yadda yadda jabba dooba. diff --git a/src/test/parse.zig b/src/test/parse.zig index af807b4..94ccbe5 100644 --- a/src/test/parse.zig +++ b/src/test/parse.zig @@ -3,7 +3,7 @@ const std = @import("std"); const testing = std.testing; const expect = testing.expect; -const gstIo = std.Io.Threaded.global_single_threaded.io(); +const gst_io = std.Io.Threaded.global_single_threaded.io(); pub const io = @import("../zisp/io.zig"); pub const value = @import("../zisp/value.zig"); @@ -136,7 +136,7 @@ test "print2" { fn parseAndPrint(str: []const u8) !void { var buf: [64]u8 = undefined; - var fw = std.Io.File.stderr().writer(gstIo, &buf); + var fw = std.Io.File.stderr().writer(gst_io, &buf); const w = &fw.interface; const v = parse(str); @@ -166,18 +166,18 @@ test "print7" { } fn parseBench(path: []const u8, iters: usize) !void { - const file = try std.Io.Dir.cwd().openFile(gstIo, path, .{}); - defer file.close(gstIo); + const file = try std.Io.Dir.cwd().openFile(gst_io, path, .{}); + defer file.close(gst_io); - var sfa = io.parse.DefaultSfa.init(std.heap.smp_allocator); - var parser = try io.parse.initSfa(&sfa); + var sfa = io.Parser.DefaultSfa.withFallback(std.heap.smp_allocator); + var parser = try io.Parser.initWithSfa(&sfa, gst_io); defer parser.deinit(); var timer = try std.time.Timer.start(); for (0..iters) |i| { _ = i; var buf: [4096]u8 = undefined; - var reader = file.reader(gstIo, &buf); + var reader = file.reader(gst_io, &buf); var v: Value = undefined; while (true) { v = parser.run(&reader.interface) catch |e| { diff --git a/src/test/strings.zig b/src/test/strings.zig index 3a0585e..58a460b 100644 --- a/src/test/strings.zig +++ b/src/test/strings.zig @@ -13,27 +13,19 @@ test "istr" { const s1 = "foo bar baz"; const v1 = istr.intern(s1); const v1_len: usize = @intCast(fx.unpack(istr.len(v1))); - try testing.expectEqualStrings(s1, istr.assert(v1).bytes()); try testing.expectEqual(s1.len, v1_len); - const path = "src/test/data/string.txt"; - var file = try std.Io.Dir.cwd().openFile(gstIo, path, .{}); - defer file.close(gstIo); - - var s2_buf: [4096]u8 = undefined; - const s2_len = try file.readStreaming(gstIo, &.{&s2_buf}); - var s2: []u8 = s2_buf[0..s2_len]; - + const s2 = @embedFile("data/string.txt"); const v2 = istr.intern(s2); const v2_len: usize = @intCast(fx.unpack(istr.len(v2))); + try testing.expectEqualStrings(s2, istr.assert(v2).bytes()); + try testing.expectEqual(s2.len, v2_len); - var s2_orig_buf: [4096]u8 = undefined; - @memcpy(&s2_orig_buf, &s2_buf); - const s2_orig = s2_orig_buf[0..s2_len]; - - s2[0] = s2[0] +% 1; + // Check that modifying a slice doesn't affect the string. - try testing.expectEqualStrings(s2_orig, istr.assert(v2).bytes()); - try testing.expectEqual(s2_len, v2_len); + var s3 = "test".*; + const v3 = istr.intern(&s3); + s3[0] = 'x'; + try testing.expectEqualStrings("test", istr.assert(v3).bytes()); } |
