35 lines
1.2 KiB
Zig
35 lines
1.2 KiB
Zig
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 <SDL3/SDL_stdinc.h>
|
|
\\#include <SDL3/SDL_pixels.h>
|
|
\\#include <stdio.h>
|
|
;
|
|
|
|
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);
|
|
}
|