add tests for `@src`

master
Vexu 2020-06-18 21:03:08 +03:00
parent a5379aa3ee
commit 14acc65675
No known key found for this signature in database
GPG Key ID: 59AEB8936E16A6AC
3 changed files with 24 additions and 0 deletions

View File

@ -2,6 +2,14 @@ const tests = @import("tests.zig");
const std = @import("std");
pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("@src outside function",
\\comptime {
\\ @src();
\\}
, &[_][]const u8{
"tmp.zig:2:5: error: @src outside function",
});
cases.add("call assigned to constant",
\\const Foo = struct {
\\ x: i32,

View File

@ -131,4 +131,5 @@ comptime {
}
_ = @import("behavior/while.zig");
_ = @import("behavior/widening.zig");
_ = @import("behavior/src.zig");
}

View File

@ -0,0 +1,15 @@
const std = @import("std");
const expect = std.testing.expect;
test "@src" {
doTheTest();
}
fn doTheTest() void {
const src = @src();
expect(src.line == 9);
expect(src.column == 17);
expect(std.mem.endsWith(u8, src.fn_name, "doTheTest"));
expect(std.mem.endsWith(u8, src.file, "src.zig"));
}