use fmt; @test fn dir_disable_all() void = { let dir = dir_load("TEST/mods")!; defer dir_free(&dir); fmt::println()!; // Don't print the first line on the test line dir_disable_all(&dir); for (let mod &.. dir.modlist) { let enabled = if (mod.name == "base") true else false; assert(mod.enabled == enabled); }; }; @test fn dir_load() void = { let dir = dir_load("TEST/mods")!; defer dir_free(&dir); // Check validity of mod structures assert(len(dir.modfiles) == 3z); assert(len(dir.modlist) == 4z); const expected: [3]modident = [ ("Unzipped", version_parse("1.0.0")!), ("UnzippedVersionless", version_parse("1.0.0")!), ("Zipped", version_parse("1.1.0")!), ]; for (let mod &.. expected) { let (file, entry) = dir_find(&dir, mod)!; assert(file.ident.0 == mod.0); assert(version_cmp(file.ident.1 as version, mod.1 as version) == version_cmpres::EQ); }; }; @test fn dir_update_enabled() void = { let dir = dir_load("TEST/mods")!; defer dir_free(&dir); fmt::println()!; // Don't print the first line on the test line const mods: [2]modident = [ ("Zipped", void), ("UnzippedVersionless", void) ]; dir_update_enabled(&dir, mods[..], true); assert(dir_find(&dir, &mods[0])!.1.enabled); };