✓
Passing This code compiles and runs correctly.
Code
// Test 835: Directory import with dotted event names
//
// Tests the full hierarchy: package/module:category.event()
// - package = raylib (from directory)
// - module = graphics (from graphics.kz file)
// - category.event = z-buffer.render (dotted event name within file)
const std = @import("std");
~import app/lib/raylib
// Full hierarchy: package/module:category.event()
~app/lib/raylib/graphics:z-buffer.render(width: 1024, height: 768)
| drawn _ |> app/lib/raylib/graphics:z-buffer.clear() |> app/lib/raylib/graphics:sprite.draw(x: 100, y: 200) |> app/lib/raylib/graphics:texture.load(path: "sprite.png")
| loaded _ |> _
| failed _ |> _
Actual
render 1024x768
clear z-buffer
draw sprite at 100,200
load texture sprite.png
Expected output
render 1024x768
clear z-buffer
draw sprite at 100,200
load texture sprite.png
Imported Files
// Graphics module with dotted event names
const std = @import("std");
~pub event z-buffer.render { width: i32, height: i32 }
| drawn i32
~pub event z-buffer.clear {}
~pub event sprite.draw { x: i32, y: i32 }
~pub event texture.load { path: []const u8 }
| loaded i32
| failed []const u8
~proc z-buffer.render|zig {
std.debug.print("render {}x{}\n", .{ width, height });
return .{ .@"drawn" = width * height };
}
~proc z-buffer.clear|zig {
std.debug.print("clear z-buffer\n", .{});
}
~proc sprite.draw|zig {
std.debug.print("draw sprite at {},{}\n", .{ x, y });
}
~proc texture.load|zig {
std.debug.print("load texture {s}\n", .{path});
return .{ .@"loaded" = 42 };
}
Test Configuration
MUST_RUN