This repository has been archived on 2026-10-10. You can view files and clone it, but cannot push or open issues or pull requests.
molotov/crates/molotov-bootstrap/tests/mods_test.rs

31 lines
1 KiB
Rust

// SPDX-License-Identifier: GPL-3.0-or-later
use molotov_bootstrap::mods::ModManager;
use tempfile::tempdir;
#[test]
fn test_mod_redirection_for_custom_death_sound() {
let temp = tempdir().unwrap();
let mod_dir = temp.path().join("mods");
std::fs::create_dir_all(&mod_dir).unwrap();
let custom_sound = mod_dir.join("ouch.ogg");
std::fs::write(&custom_sound, b"OGG_CUSTOM_DATA").unwrap();
let mut manager = ModManager::new(mod_dir);
manager.scan_installed_mods().unwrap();
let default_asset = "content/sounds/ouch.ogg";
let resolved = manager.resolve_asset_path(default_asset);
assert_eq!(resolved, custom_sound, "Death sound must be redirected to user mod");
}
#[test]
fn test_unmodded_asset_passes_through() {
let temp = tempdir().unwrap();
let manager = ModManager::new(temp.path().to_path_buf());
let default_asset = "content/textures/unmodified_texture.png";
let resolved = manager.resolve_asset_path(default_asset);
assert_eq!(resolved.to_str().unwrap(), default_asset);
}