Fix type extensions 2

This commit is contained in:
2026-04-10 08:43:06 +02:00
parent 89e0ecd9e1
commit 543945f099
7 changed files with 71 additions and 10 deletions
+41
View File
@@ -56,3 +56,44 @@ func TestExtensionMappingsKeep2DAAndTLKDistinct(t *testing.T) {
t.Fatal("expected 2da and tlk resource types to stay distinct")
}
}
func TestHAKResourceTypeForExtensionSupportsPNG(t *testing.T) {
if resourceType, ok := HAKResourceTypeForExtension("png"); !ok || resourceType != 0x083E {
t.Fatalf("expected png to stay valid for HAK generation, got ok=%v type=0x%04X", ok, resourceType)
}
if resourceType, ok := HAKResourceTypeForExtension("2da"); !ok || resourceType != 0x07E1 {
t.Fatalf("expected 2da to stay valid for HAK generation, got ok=%v type=0x%04X", ok, resourceType)
}
}
func TestExtensionMappingsSupportModernAssetTypes(t *testing.T) {
cases := map[string]uint16{
"mtr": 0x0818,
"shd": 0x0815,
"txi": 0x07E6,
"jpg": 0x081C,
"mdb": 0x0816,
"lyt": 0x0BB8,
"vis": 0x0BB9,
"mdx": 0x0BC0,
"xml": 0x0BCD,
"wlk": 0x0BCC,
"gr2": 0x0FA3,
}
for ext, wantType := range cases {
gotType, ok := ResourceTypeForExtension(ext)
if !ok {
t.Fatalf("expected %s to resolve to a resource type", ext)
}
if gotType != wantType {
t.Fatalf("expected %s type 0x%04X, got 0x%04X", ext, wantType, gotType)
}
gotExt, ok := ExtensionForResourceType(wantType)
if !ok {
t.Fatalf("expected type 0x%04X to resolve back to an extension", wantType)
}
if gotExt != ext {
t.Fatalf("expected type 0x%04X to resolve to %s, got %s", wantType, ext, gotExt)
}
}
}