z_mirror/hare-fmm
git clone https://git.raiguard.me/z_mirror/hare-fmm
74b341b
trunk
1use fmt; 2 3@test fn dir_disable_all() void = { 4 let dir = dir_load("TEST/mods")!; 5 defer dir_free(&dir); 6 fmt::println()!; // Don't print the first line on the test line 7 8 dir_disable_all(&dir); 9 for (let mod &.. dir.modlist) { 10 let enabled = if (mod.name == "base") true else false; 11 assert(mod.enabled == enabled); 12 }; 13}; 14 15@test fn dir_load() void = { 16 let dir = dir_load("TEST/mods")!; 17 defer dir_free(&dir); 18 19 // Check validity of mod structures 20 assert(len(dir.modfiles) == 3z); 21 assert(len(dir.modlist) == 4z); 22 const expected: [3]modident = [ 23 ("Unzipped", version_parse("1.0.0")!), 24 ("UnzippedVersionless", version_parse("1.0.0")!), 25 ("Zipped", version_parse("1.1.0")!), 26 ]; 27 for (let mod &.. expected) { 28 let (file, entry) = dir_find(&dir, mod)!; 29 assert(file.ident.0 == mod.0); 30 assert(version_cmp(file.ident.1 as version, mod.1 as version) 31 == version_cmpres::EQ); 32 }; 33}; 34 35@test fn dir_update_enabled() void = { 36 let dir = dir_load("TEST/mods")!; 37 defer dir_free(&dir); 38 fmt::println()!; // Don't print the first line on the test line 39 40 const mods: [2]modident = [ 41 ("Zipped", void), 42 ("UnzippedVersionless", void) 43 ]; 44 dir_update_enabled(&dir, mods[..], true); 45 assert(dir_find(&dir, &mods[0])!.1.enabled); 46};