Commit 21550bb7cd

xackus <14938807+xackus@users.noreply.github.com>
2020-12-05 11:10:44
std.json: unreachable -> expect in tests
1 parent 8ac7115
Changed files (1)
lib
std
lib/std/json/test.zig
@@ -9,60 +9,47 @@
 // Read also http://seriot.ch/parsing_json.php for a good overview.
 
 const std = @import("../std.zig");
+const json = std.json;
+const testing = std.testing;
 
-fn ok(comptime s: []const u8) void {
-    std.testing.expect(std.json.validate(s));
-
-    var p = std.json.Parser.init(std.testing.allocator, false);
+fn testNonStreaming(comptime s: []const u8) !void {
+    var p = json.Parser.init(testing.allocator, false);
     defer p.deinit();
 
-    var tree = p.parse(s) catch unreachable;
+    var tree = try p.parse(s);
     defer tree.deinit();
 }
 
-fn err(comptime s: []const u8) void {
-    std.testing.expect(!std.json.validate(s));
+fn ok(comptime s: []const u8) void {
+    testing.expect(json.validate(s));
 
-    var p = std.json.Parser.init(std.testing.allocator, false);
-    defer p.deinit();
+    testNonStreaming(s) catch testing.expect(false);
+}
+
+fn err(comptime s: []const u8) void {
+    testing.expect(!json.validate(s));
 
-    if (p.parse(s)) |_| {
-        unreachable;
-    } else |_| {}
+    testNonStreaming(s) catch return;
+    testing.expect(false);
 }
 
 fn utf8Error(comptime s: []const u8) void {
-    std.testing.expect(!std.json.validate(s));
+    testing.expect(!json.validate(s));
 
-    var p = std.json.Parser.init(std.testing.allocator, false);
-    defer p.deinit();
-
-    if (p.parse(s)) |_| {
-        unreachable;
-    } else |e| {
-        std.testing.expect(e == error.InvalidUtf8Byte);
-    }
+    testing.expectError(error.InvalidUtf8Byte, testNonStreaming(s));
 }
 
 fn any(comptime s: []const u8) void {
-    _ = std.json.validate(s);
-
-    var p = std.json.Parser.init(std.testing.allocator, false);
-    defer p.deinit();
+    _ = json.validate(s);
 
-    var tree = p.parse(s) catch return;
-    defer tree.deinit();
+    testNonStreaming(s) catch {};
 }
 
 fn anyStreamingErrNonStreaming(comptime s: []const u8) void {
-    _ = std.json.validate(s);
-
-    var p = std.json.Parser.init(std.testing.allocator, false);
-    defer p.deinit();
+    _ = json.validate(s);
 
-    if (p.parse(s)) |_| {
-        unreachable;
-    } else |_| {}
+    testNonStreaming(s) catch return;
+    testing.expect(false);
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////