Files
MusicFS/tests/file_io_test.rs
T
Alexander 24fd81ff9e Add tests
2026-06-27 20:11:33 +02:00

76 lines
1.8 KiB
Rust

use std::io::Write;
use musicfs::origins::local::file_io::assemble_flac_read;
#[test]
fn assemble_flac_read_picture_header_region() {
let mut f = tempfile::NamedTempFile::new().unwrap();
let data: Vec<u8> = (0..100).collect();
f.write_all(&data).unwrap();
f.flush().unwrap();
let path = f.path();
let header = b"ABCD";
let pic_hdr = [0x86, 0x00, 0x00, 0x05];
let pic_ranges = [(10u64, 5u64)];
let real_audio_start = 50u64;
let result = assemble_flac_read(
path,
header,
&[pic_hdr],
&pic_ranges,
real_audio_start,
4,
4,
)
.unwrap();
assert_eq!(result, pic_hdr);
}
#[test]
fn assemble_flac_read_picture_data_region() {
let mut f = tempfile::NamedTempFile::new().unwrap();
let data: Vec<u8> = (0..100).collect();
f.write_all(&data).unwrap();
f.flush().unwrap();
let path = f.path();
let header = b"ABCD";
let pic_hdr = [0x86, 0x00, 0x00, 0x05];
let pic_ranges = [(10u64, 5u64)];
let real_audio_start = 50u64;
let result = assemble_flac_read(
path,
header,
&[pic_hdr],
&pic_ranges,
real_audio_start,
8,
5,
)
.unwrap();
assert_eq!(result, vec![10, 11, 12, 13, 14]);
}
#[test]
fn assemble_flac_read_full_virtual_layout() {
let mut f = tempfile::NamedTempFile::new().unwrap();
let data: Vec<u8> = (0..200).map(|i| i as u8).collect();
f.write_all(&data).unwrap();
f.flush().unwrap();
let path = f.path();
let header = vec![0xAA; 8];
let real_audio_start = 100u64;
let result = assemble_flac_read(path, &header, &[], &[], real_audio_start, 0, 18).unwrap();
let mut expected = vec![0xAA; 8];
expected.extend_from_slice(&(100..110).map(|i| i as u8).collect::<Vec<u8>>());
assert_eq!(result, expected);
}