diff options
| author | Vexu <git@vexu.eu> | 2020-05-12 21:44:08 +0300 |
|---|---|---|
| committer | Vexu <git@vexu.eu> | 2020-05-12 21:44:08 +0300 |
| commit | fa57463bb9c09ee1e50012d7e50d120e1599fb81 (patch) | |
| tree | 1d168132cc0f647e3479045f849072f777aef148 /lib/std | |
| parent | 80d0c2f166311c82ddb48c093df508c063973d02 (diff) | |
| download | zig-fa57463bb9c09ee1e50012d7e50d120e1599fb81.tar.gz zig-fa57463bb9c09ee1e50012d7e50d120e1599fb81.zip | |
make parser testError take a list of expected errors
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/zig/parser_test.zig | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index b98e8c69c3..749fd1e832 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -19,7 +19,9 @@ test "zig fmt: decl between fields" { \\ const baz1 = 2; \\ b: usize, \\}; - ); + , &[_]Error{ + .DeclBetweenFields, + }); } test "zig fmt: errdefer with payload" { @@ -2828,7 +2830,9 @@ test "zig fmt: extern without container keyword returns error" { try testError( \\const container = extern {}; \\ - ); + , &[_]Error{ + .ExpectedExpr, + }); } test "zig fmt: integer literals with underscore separators" { @@ -3030,9 +3034,17 @@ fn testTransform(source: []const u8, expected_source: []const u8) !void { fn testCanonical(source: []const u8) !void { return testTransform(source, source); } -fn testError(source: []const u8) !void { + +const Error = @TagType(std.zig.ast.Error); + +fn testError(source: []const u8, expected_errors: []const Error) !void { const tree = try std.zig.parse(std.testing.allocator, source); defer tree.deinit(); - std.testing.expect(tree.errors.len != 0); + std.testing.expect(tree.errors.len == expected_errors.len); + for (expected_errors) |expected, i| { + const err = tree.errors.at(i); + + std.testing.expect(expected == err.*); + } } |
