This is an obsolete example, but keeping it alive in case someone follows it from the discord link
Access examples
Something went wrong. Try again.
tests.zig
· Created 3mo ago ·2.2 kB · 65 lines
Zig
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465test "inheritance" { var data: Data = .init(allocator, std.testing.io); defer data.deinit();
const output = try zmpl.Templates.inheritance_child.renderWithLayout( zmpl.Templates.inheritance_parent3, &data, struct {}, .{}, ); try expectEqualStrings( \\<h2>Parent 1</h2> \\<div class="content-1"> \\ <h2>Parent 2</h2> \\<div class="content-2"> \\ <h3>Parent 3</h3> \\<div class="content-3"> \\ <span>Content</span> \\</div> \\</div> \\</div> , output);}
test "root init" { var data: Data = .init(allocator, std.testing.io); defer data.deinit();
var root = try data.root(.object); var user = try data.object(); var auth = try data.object();
try user.put("email", data.string("user@example.com")); try auth.put("token", data.string("abc123-456-def"));
try root.put("user", user); try root.put("auth", auth);
const output = try zmpl.Templates.example.render(&data, .{});
try expectEqualStrings( \\<!-- Zig mode for template logic --> \\ <span>Zmpl is simple!</span> \\ \\<!-- Easy data lookup syntax --> \\<div>Email: user@example.com</div> \\<div>Token: abc123-456-def</div> \\ \\<!-- Partials --><span>An example partial</span> \\ \\<!-- Partials with positional args --><a href="mailto:user@example.com?subject=Welcome to Jetzig!">user@example.com</a> \\ \\<!-- Partials with keyword args --><a href="mailto:user@example.com?subject=Welcome to Jetzig!">user@example.com</a> \\ \\<!-- Partials with slots --><a href="mailto:user@example.com?subject=Welcome to Jetzig!">user@example.com</a> \\ <div class="slot-0"><a href="https://example.com/auth/abc123-456-def">Sign in</a></div> <div class="slot-1"><a href="https://example.com/unsubscribe/abc123-456-def">Unsubscribe</a></div> \\ \\<div><h1>Built-in markdown support</h1> \\<ul> \\ <li><a href="https://www.jetzig.dev/">jetzig.dev</a></li> \\</ul> \\</div> \\ , output);}Login to leave a reply