22 lines
723 B
Rust
22 lines
723 B
Rust
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
use molotov_core::assets::dir::AssetDir;
|
|
use std::ffi::CStr;
|
|
|
|
#[test]
|
|
fn test_asset_dir_iteration_and_rewind() {
|
|
let files = vec!["font.ttf".to_string(), "cursor.png".to_string(), "sound.ogg".to_string()];
|
|
let mut dir = AssetDir::new(files);
|
|
|
|
unsafe {
|
|
let f1 = dir.get_next_filename();
|
|
assert!(!f1.is_null());
|
|
assert_eq!(CStr::from_ptr(f1).to_str().unwrap(), "font.ttf");
|
|
|
|
let f2 = dir.get_next_filename();
|
|
assert_eq!(CStr::from_ptr(f2).to_str().unwrap(), "cursor.png");
|
|
|
|
dir.rewind();
|
|
let f1_again = dir.get_next_filename();
|
|
assert_eq!(CStr::from_ptr(f1_again).to_str().unwrap(), "font.ttf");
|
|
}
|
|
}
|