Backlog/lib/sdl3/parser/test/integration/test_flow_simple.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);
}