- Add std.log.scoped(.pugz) to template.zig and view_engine.zig - Log detailed error info (code, line, column, message) when parsing fails - Log template path context in ViewEngine on parse errors - Remove debug print from lexer, use proper scoped logging instead - Move benchmarks, docs, examples, playground, tests out of src/ to project root - Update build.zig and documentation paths accordingly - Bump version to 0.3.1
24 lines
871 B
Zig
24 lines
871 B
Zig
// This test is imported by root.zig for testing
|
|
const std = @import("std");
|
|
const testing = std.testing;
|
|
const mixin = @import("../mixin.zig");
|
|
|
|
test "bindArguments - with default value in param" {
|
|
const allocator = testing.allocator;
|
|
|
|
var bindings = std.StringHashMapUnmanaged([]const u8){};
|
|
defer bindings.deinit(allocator);
|
|
|
|
// This is how it appears: params have default, args are the call args
|
|
try mixin.bindArguments(allocator, "text, type=\"primary\"", "\"Click Me\", \"primary\"", &bindings);
|
|
|
|
std.debug.print("\nBindings:\n", .{});
|
|
var iter = bindings.iterator();
|
|
while (iter.next()) |entry| {
|
|
std.debug.print(" {s} = '{s}'\n", .{entry.key_ptr.*, entry.value_ptr.*});
|
|
}
|
|
|
|
try testing.expectEqualStrings("Click Me", bindings.get("text").?);
|
|
try testing.expectEqualStrings("primary", bindings.get("type").?);
|
|
}
|