-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't want to include these test cases in the Zig-shipped resinator since they can contain lots of test data, and moving them outside of src makes it easier to sync resinator downstream
- Loading branch information
Showing
3 changed files
with
93 additions
and
77 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1123,80 +1123,3 @@ pub const supported_targets = struct { | |
} | ||
} | ||
}; | ||
|
||
test writeCoff { | ||
var buf = std.ArrayList(u8).init(std.testing.allocator); | ||
defer buf.deinit(); | ||
|
||
{ | ||
buf.clearRetainingCapacity(); | ||
|
||
try writeCoff(std.testing.allocator, buf.writer(), &.{}, .{}, null); | ||
|
||
try std.testing.expectEqualSlices( | ||
u8, | ||
"d\x86\x02\x00\x00\x00\x00\x00t\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x01.rsrc$01\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@feat.00\x11\x00\x00\x00\xff\xff\x00\x00\x03\x00.rsrc$01\x00\x00\x00\x00\x01\x00\x00\x00\x03\x01\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.rsrc$02\x00\x00\x00\x00\x02\x00\x00\x00\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", | ||
buf.items, | ||
); | ||
} | ||
|
||
{ | ||
buf.clearRetainingCapacity(); | ||
|
||
try writeCoff(std.testing.allocator, buf.writer(), &.{ | ||
.{ | ||
.type_value = .{ .ordinal = @intFromEnum(res.RT.RCDATA) }, | ||
.name_value = .{ .ordinal = 1 }, | ||
.data_version = 0, | ||
.memory_flags = .{ .value = 0 }, | ||
.language = res.Language.fromInt(0x409), | ||
.version = 0, | ||
.characteristics = 0, | ||
.data = "foo", | ||
}, | ||
}, .{}, null); | ||
|
||
try std.testing.expectEqualSlices( | ||
u8, | ||
"d\x86\x02\x00\x00\x00\x00\x00\xce\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x01.rsrc$01\x00\x00\x00\x00\x00\x00\x00\x00X\x00\x00\x00d\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00@\x00\x00\xc0.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\n\x00\x00\x00\x18\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x000\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00H\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00H\x00\x00\x00\x05\x00\x00\x00\x03\x00foo\x00\x00\x00\x00\[email protected]\x11\x00\x00\x00\xff\xff\x00\x00\x03\x00.rsrc$01\x00\x00\x00\x00\x01\x00\x00\x00\x03\x01X\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.rsrc$02\x00\x00\x00\x00\x02\x00\x00\x00\x03\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$R000000\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x04\x00\x00\x00", | ||
buf.items, | ||
); | ||
} | ||
} | ||
|
||
test "res to coff" { | ||
{ | ||
const res_data = "\x00\x00\x00\x00 \x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x03\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00bar\x00\t\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x01\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00barbazfoo\x00\x00\x00\x03\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x02\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00foo\x00"; | ||
const coff = "d\x86\x02\x00\x00\x00\x00\x00Z\x01\x00\x00\x08\x00\x00\x00\x00\x00\x00\x01.rsrc$01\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00d\x00\x00\x00\x1c\x01\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00@\x00\x00\xc0.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00:\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\n\x00\x00\x00\x18\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x00\x00@\x00\x00\x80\x02\x00\x00\x00X\x00\x00\x80\x03\x00\x00\x00p\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x05\x00\x00\x00\x03\x00\x88\x00\x00\x00\x06\x00\x00\x00\x03\x00\x98\x00\x00\x00\x07\x00\x00\x00\x03\x00bar\x00\x00\x00\x00\x00barbazfoo\x00\x00\x00\x00\x00\x00\x00foo\x00\x00\x00\x00\[email protected]\x11\x00\x00\x00\xff\xff\x00\x00\x03\x00.rsrc$01\x00\x00\x00\x00\x01\x00\x00\x00\x03\x01\xb8\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.rsrc$02\x00\x00\x00\x00\x02\x00\x00\x00\x03\x01 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$R000000\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000008\x08\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000018\x18\x00\x00\x00\x02\x00\x00\x00\x03\x00\x04\x00\x00\x00"; | ||
try testResToCoff(res_data, coff); | ||
} | ||
{ | ||
const res_data = "\x00\x00\x00\x00 \x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x03\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00bar\x00\t\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x01\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00barbazfoo\x00\x00\x00\x03\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x02\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00foo\x00\x04\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x03\x00\x00\x00\x00\x000\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00lbar\n\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x01\x00\x00\x00\x00\x000\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00lbarbazfoo\x00\x00\x04\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x02\x00\x00\x00\x00\x000\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00lfoo"; | ||
const coff = "d\x86\x02\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x01.rsrc$01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00d\x00\x00\x00d\x01\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00@\x00\x00\xc0.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\n\x00\x00\x00\x18\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x00\x00@\x00\x00\x80\x02\x00\x00\x00`\x00\x00\x80\x03\x00\x00\x00\x80\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\t\x04\x00\x00\xa0\x00\x00\x00\x01\x08\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\t\x04\x00\x00\xc0\x00\x00\x00\x01\x08\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\t\x04\x00\x00\xe0\x00\x00\x00\x01\x08\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x05\x00\x00\x00\x03\x00\xa0\x00\x00\x00\x06\x00\x00\x00\x03\x00\xc0\x00\x00\x00\x07\x00\x00\x00\x03\x00\xf0\x00\x00\x00\x08\x00\x00\x00\x03\x00\xb0\x00\x00\x00\t\x00\x00\x00\x03\x00\xd0\x00\x00\x00\n\x00\x00\x00\x03\x00bar\x00\x00\x00\x00\x00barbazfoo\x00\x00\x00\x00\x00\x00\x00foo\x00\x00\x00\x00\x00lbar\x00\x00\x00\x00lbarbazfoo\x00\x00\x00\x00\x00\x00lfoo\x00\x00\x00\[email protected]\x11\x00\x00\x00\xff\xff\x00\x00\x03\x00.rsrc$01\x00\x00\x00\x00\x01\x00\x00\x00\x03\x01\x00\x01\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.rsrc$02\x00\x00\x00\x00\x02\x00\x00\x00\x03\x01@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$R000000\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000008\x08\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000018\x18\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000020 \x00\x00\x00\x02\x00\x00\x00\x03\x00$R000028(\x00\x00\x00\x02\x00\x00\x00\x03\x00$R0000388\x00\x00\x00\x02\x00\x00\x00\x03\x00\x04\x00\x00\x00"; | ||
try testResToCoff(res_data, coff); | ||
} | ||
{ | ||
const res_data = "\x00\x00\x00\x00 \x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00 \x00\x00\x00\xff\xffc\x00\xff\xff\x03\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00zbar\n\x00\x00\x00 \x00\x00\x00\xff\xffe\x00\xff\xff\x01\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00zbarbazfoo\x00\x00\x05\x00\x00\x00 \x00\x00\x00\xff\xffd\x00\xff\xff\x02\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00zfooz\x00\x00\x00\x05\x00\x00\x00 \x00\x00\x00\xff\xffd\x00\xff\xff\x01\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00zfooz\x00\x00\x00\x03\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x03\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00bar\x00\t\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x01\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00barbazfoo\x00\x00\x00\x03\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x02\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00foo\x00\x04\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x03\x00\x00\x00\x00\x000\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00lbar\n\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x01\x00\x00\x00\x00\x000\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00lbarbazfoo\x00\x00\x04\x00\x00\x00 \x00\x00\x00\xff\xff\n\x00\xff\xff\x02\x00\x00\x00\x00\x000\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00lfoo"; | ||
const coff = "d\x86\x02\x00\x00\x00\x00\x008\x03\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x01.rsrc$01\x00\x00\x00\x00\x00\x00\x00\x00\x08\x02\x00\x00d\x00\x00\x00l\x02\x00\x00\x00\x00\x00\x00\n\x00\x00\x00@\x00\x00\xc0.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x00h\x00\x00\x00\xd0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\n\x00\x00\x000\x00\x00\x80c\x00\x00\x00X\x00\x00\x80d\x00\x00\x00p\x00\x00\x80e\x00\x00\x00\x90\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x00\x00\xa8\x00\x00\x80\x02\x00\x00\x00\xc8\x00\x00\x80\x03\x00\x00\x00\xe8\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x03\x00\x00\x00\x08\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x00\x00 \x01\x00\x80\x02\x00\x00\x008\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00P\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\t\x04\x00\x00h\x01\x00\x00\x01\x08\x00\x00x\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\t\x04\x00\x00\x88\x01\x00\x00\x01\x08\x00\x00\x98\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\t\x04\x00\x00\xa8\x01\x00\x00\x01\x08\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xc8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xd8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xe8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x01\x00\x00\x05\x00\x00\x00\x03\x00\xf8\x01\x00\x00\x06\x00\x00\x00\x03\x00\xe8\x01\x00\x00\x07\x00\x00\x00\x03\x00\xd8\x01\x00\x00\x08\x00\x00\x00\x03\x00\xa8\x01\x00\x00\t\x00\x00\x00\x03\x00h\x01\x00\x00\n\x00\x00\x00\x03\x00\x88\x01\x00\x00\x0b\x00\x00\x00\x03\x00\xb8\x01\x00\x00\x0c\x00\x00\x00\x03\x00x\x01\x00\x00\r\x00\x00\x00\x03\x00\x98\x01\x00\x00\x0e\x00\x00\x00\x03\x00zbar\x00\x00\x00\x00zbarbazfoo\x00\x00\x00\x00\x00\x00zfooz\x00\x00\x00zfooz\x00\x00\x00bar\x00\x00\x00\x00\x00barbazfoo\x00\x00\x00\x00\x00\x00\x00foo\x00\x00\x00\x00\x00lbar\x00\x00\x00\x00lbarbazfoo\x00\x00\x00\x00\x00\x00lfoo\x00\x00\x00\[email protected]\x11\x00\x00\x00\xff\xff\x00\x00\x03\x00.rsrc$01\x00\x00\x00\x00\x01\x00\x00\x00\x03\x01\x08\x02\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.rsrc$02\x00\x00\x00\x00\x02\x00\x00\x00\x03\x01h\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$R000000\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000008\x08\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000018\x18\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000020 \x00\x00\x00\x02\x00\x00\x00\x03\x00$R000028(\x00\x00\x00\x02\x00\x00\x00\x03\x00$R0000300\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000040@\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000048H\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000050P\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000060`\x00\x00\x00\x02\x00\x00\x00\x03\x00\x04\x00\x00\x00"; | ||
try testResToCoff(res_data, coff); | ||
} | ||
{ | ||
const res_data = "\x00\x00\x00\x00 \x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00(\x00\x00\x00B\x00A\x00R\x00\x00\x00F\x00O\x00O\x00\x00\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00a\x00b\x00c\x00d\x00e\x00f\x00\n\x00\x00\x00(\x00\x00\x00B\x00A\x00R\x00\x00\x00A\x00O\x00O\x00\x00\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00a\x00b\x00c\x00d\x00e\x00\x00\x00\x04\x00\x00\x00(\x00\x00\x00B\x00A\x00R\x00\x00\x00\xac O\x00O\x00\x00\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00abcd\x03\x00\x00\x00(\x00\x00\x00B\x00A\x00R\x00\x00\x00\xc7\x00O\x00O\x00\x00\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00abc\x00\x02\x00\x00\x00(\x00\x00\x00B\x00A\x00R\x00\x00\x00\xe7\x00O\x00O\x00\x00\x00\x00\x00\x00\x000\x00\t\x04\x00\x00\x00\x00\x00\x00\x00\x00ab\x00\x00"; | ||
const coff = "d\x86\x02\x00\x00\x00\x00\x00\x16\x02\x00\x00\n\x00\x00\x00\x00\x00\x00\x01.rsrc$01\x00\x00\x00\x00\x00\x00\x00\x00H\x01\x00\x00d\x00\x00\x00\xac\x01\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00@\x00\x00\xc0.rsrc$02\x00\x00\x00\x00\x00\x00\x00\x008\x00\x00\x00\xde\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x18\x01\x00\x80\x18\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00(\x01\x00\x80P\x00\x00\x80 \x01\x00\x80h\x00\x00\x808\x01\x00\x80\x80\x00\x00\x80@\x01\x00\x80\x98\x00\x00\x800\x01\x00\x80\xb0\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xe8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\t\x04\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00B\x00A\x00R\x00\x03\x00F\x00O\x00O\x00\x03\x00A\x00O\x00O\x00\x03\x00\xac O\x00O\x00\x03\x00\xc7\x00O\x00O\x00\x03\x00\xe7\x00O\x00O\x00\xd8\x00\x00\x00\x05\x00\x00\x00\x03\x00\xc8\x00\x00\x00\x06\x00\x00\x00\x03\x00\x08\x01\x00\x00\x07\x00\x00\x00\x03\x00\xe8\x00\x00\x00\x08\x00\x00\x00\x03\x00\xf8\x00\x00\x00\t\x00\x00\x00\x03\x00a\x00b\x00c\x00d\x00e\x00f\x00\x00\x00\x00\x00a\x00b\x00c\x00d\x00e\x00\x00\x00\x00\x00\x00\x00abcd\x00\x00\x00\x00abc\x00\x00\x00\x00\x00ab\x00\x00\x00\x00\x00\[email protected]\x11\x00\x00\x00\xff\xff\x00\x00\x03\x00.rsrc$01\x00\x00\x00\x00\x01\x00\x00\x00\x03\x01H\x01\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.rsrc$02\x00\x00\x00\x00\x02\x00\x00\x00\x03\x018\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$R000000\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000010\x10\x00\x00\x00\x02\x00\x00\x00\x03\x00$R000020 \x00\x00\x00\x02\x00\x00\x00\x03\x00$R000028(\x00\x00\x00\x02\x00\x00\x00\x03\x00$R0000300\x00\x00\x00\x02\x00\x00\x00\x03\x00\x04\x00\x00\x00"; | ||
try testResToCoff(res_data, coff); | ||
} | ||
} | ||
|
||
fn testResToCoff(res_data: []const u8, expected_coff: []const u8) !void { | ||
var fbs = std.io.fixedBufferStream(res_data); | ||
|
||
var resources = try parseRes(std.testing.allocator, fbs.reader(), .{ .max_size = res_data.len }); | ||
defer resources.deinit(); | ||
|
||
var buf = try std.ArrayList(u8).initCapacity(std.testing.allocator, expected_coff.len); | ||
defer buf.deinit(); | ||
|
||
try writeCoff(std.testing.allocator, buf.writer(), resources.list.items, .{}, null); | ||
|
||
try std.testing.expectEqualSlices(u8, expected_coff, buf.items); | ||
} |
Oops, something went wrong.