31 lines
1 KiB
Rust
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);
|
|
}
|