z_mirror/hare-fmm

git clone https://git.raiguard.me/z_mirror/hare-fmm

Caleb HeuerConvert to for-each loops and fix some potential memory issues74b341b

trunk
1.2 KiB46 linesraw
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};