From 51d558ed2455f9b19aebe1e497eb4bd37c1a7b70 Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Wed, 6 Jan 2021 01:43:21 +0100 Subject: add a test for optionals --- sqlite.zig | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'sqlite.zig') diff --git a/sqlite.zig b/sqlite.zig index 1338cbf..d96c956 100644 --- a/sqlite.zig +++ b/sqlite.zig @@ -1380,6 +1380,33 @@ test "sqlite: read pointers" { } } +test "sqlite: optional" { + var arena = std.heap.ArenaAllocator.init(testing.allocator); + defer arena.deinit(); + + var db: Db = undefined; + try db.init(initOptions()); + try addTestData(&db); + + try db.exec("INSERT INTO article(author_id, data, is_published) VALUES(?, ?, ?)", .{ 1, null, true }); + + var stmt = try db.prepare("SELECT data, is_published FROM article"); + defer stmt.deinit(); + + const row = try stmt.one( + struct { + data: ?[128:0]u8, + is_published: ?bool, + }, + .{}, + .{}, + ); + + testing.expect(row != null); + testing.expect(row.data == null); + testing.expectEqual(true, row.is_published.?); +} + test "sqlite: statement reset" { var db: Db = undefined; try db.init(initOptions()); -- cgit v1.2.3