const std = @import("std"); const testing = std.testing; const dependency_resolver = @import("src/dependency_resolver.zig"); test "extractBaseType handles all patterns" { try testing.expectEqualStrings("SDL_Window", dependency_resolver.extractBaseType("SDL_Window *")); try testing.expectEqualStrings("SDL_Window", dependency_resolver.extractBaseType("*SDL_Window")); try testing.expectEqualStrings("SDL_Rect", dependency_resolver.extractBaseType("*const SDL_Rect")); try testing.expectEqualStrings("SDL_Buffer", dependency_resolver.extractBaseType("SDL_Buffer *const *")); try testing.expectEqualStrings("u8", dependency_resolver.extractBaseType("[*c]const u8")); } test "parseIncludes extracts SDL3 headers only" { const allocator = testing.allocator; const source = \\#include \\#include \\#include ; const includes = try dependency_resolver.parseIncludes(allocator, source); defer { for (includes) |inc| allocator.free(inc); allocator.free(includes); } try testing.expectEqual(@as(usize, 2), includes.len); }