const std = @import("std");

const im = @import("zimgui");

const c = @cImport({
    @cDefine("GLFW_INCLUDE_NONE", {});
    @cInclude("GLFW/glfw3.h");
});

pub fn main() !void {
    im.init();
    defer im.deinit();

    _ = c.glfwInit();
    defer c.glfwTerminate();

    const w = c.glfwCreateWindow(1280, 720, "hello", null, null);
    defer c.glfwDestroyWindow(w);

    while (c.glfwWindowShouldClose(w) != c.GLFW_TRUE) {
        c.glfwPollEvents();
    }
}

test "simple test" {
    var list = std.ArrayList(i32).init(std.testing.allocator);
    defer list.deinit(); // try commenting this out and see if zig detects the memory leak!
    try list.append(42);
    try std.testing.expectEqual(@as(i32, 42), list.pop());
}
