// 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); }