test: json serialize
This commit is contained in:
parent
52436ffc41
commit
bcb2ddf6c2
@ -363,6 +363,31 @@ test "should serialize a minimal error" {
|
|||||||
try std.testing.expectEqualStrings(expected, out_writer.items);
|
try std.testing.expectEqualStrings(expected, out_writer.items);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test "should serialize a complex error" {
|
||||||
|
var err = ErrorData{
|
||||||
|
.reason = "Invalid \"hello\"",
|
||||||
|
.help = "Try to do better",
|
||||||
|
.start_position = 0,
|
||||||
|
.end_position = 1,
|
||||||
|
.labels = std.ArrayList(ErrorLabel).init(std.testing.allocator),
|
||||||
|
.alloc = std.testing.allocator,
|
||||||
|
};
|
||||||
|
defer err.deinit();
|
||||||
|
|
||||||
|
try err.add_label("This one", 0, 32);
|
||||||
|
try err.add_label("And this other", 32, 64);
|
||||||
|
|
||||||
|
var out_writer = std.ArrayList(u8).init(std.testing.allocator);
|
||||||
|
defer out_writer.deinit();
|
||||||
|
|
||||||
|
try err.write_json(std.testing.allocator, out_writer.writer());
|
||||||
|
|
||||||
|
const expected =
|
||||||
|
\\{"reason":"Invalid \"hello\"","help":"Try to do better","start_position":0,"end_position":1,"labels":[{"message":"This one","start":0,"end":32},{"message":"And this other","start":32,"end":64}]}
|
||||||
|
;
|
||||||
|
try std.testing.expectEqualStrings(expected, out_writer.items);
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: add more tests:
|
// TODO: add more tests:
|
||||||
// - when the error has len=1
|
// - when the error has len=1
|
||||||
// - when the error has len=0
|
// - when the error has len=0
|
||||||
|
Loading…
Reference in New Issue
Block a user