47 lines
1.8 KiB
Zig
Generated
47 lines
1.8 KiB
Zig
Generated
// This file is auto-generated by alef — DO NOT EDIT.
|
|
// alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75
|
|
// To regenerate: alef generate
|
|
// To verify freshness: alef verify --exit-code
|
|
// Issues & docs: https://github.com/kreuzberg-dev/alef
|
|
const std = @import("std");
|
|
const testing = std.testing;
|
|
const kreuzberg = @import("kreuzberg");
|
|
|
|
// Suppress C++ global destructor aborts that break zig's --listen=- IPC
|
|
extern "c" fn signal(sig: i32, handler: usize) usize;
|
|
var _abort_handler_installed: bool = false;
|
|
fn suppress_abort() void {
|
|
if (!_abort_handler_installed) {
|
|
// SIGABRT = 6 on POSIX; SIG_IGN = 1
|
|
_ = signal(6, 1);
|
|
_abort_handler_installed = true;
|
|
}
|
|
}
|
|
|
|
// E2e tests for category: mime_utilities
|
|
|
|
test "mime_detect_bytes" {
|
|
// Detect MIME type from file bytes
|
|
suppress_abort();
|
|
const content_bytes = try std.Io.Dir.cwd().readFileAlloc(std.testing.io, "pdf/fake_memo.pdf", std.heap.c_allocator, .unlimited);
|
|
defer std.heap.c_allocator.free(content_bytes);
|
|
const result = try kreuzberg.detect_mime_type_from_bytes(content_bytes);
|
|
try testing.expect(std.mem.indexOf(u8, result, "pdf") != null);
|
|
}
|
|
|
|
test "mime_detect_image" {
|
|
// Detect MIME type from PNG image bytes
|
|
suppress_abort();
|
|
const content_bytes = try std.Io.Dir.cwd().readFileAlloc(std.testing.io, "images/test_hello_world.png", std.heap.c_allocator, .unlimited);
|
|
defer std.heap.c_allocator.free(content_bytes);
|
|
const result = try kreuzberg.detect_mime_type_from_bytes(content_bytes);
|
|
try testing.expect(std.mem.indexOf(u8, result, "png") != null);
|
|
}
|
|
|
|
test "mime_get_extensions" {
|
|
// Get file extensions for a MIME type
|
|
suppress_abort();
|
|
const result = try kreuzberg.get_extensions_for_mime("application/pdf");
|
|
try testing.expect(std.mem.indexOf(u8, result, "pdf") != null);
|
|
}
|