test(lesavka): cover microphone flag parsing
This commit is contained in:
parent
8f911da06b
commit
4dd2bfad51
@ -1,8 +1,10 @@
|
||||
use super::{
|
||||
MIC_CHANNELS, MIC_SAMPLE_BYTES, MIC_SAMPLE_RATE, buffer_duration_us, mic_packet_target_bytes,
|
||||
pcm_payload_duration_us, split_audio_sample,
|
||||
MIC_CHANNELS, MIC_SAMPLE_BYTES, MIC_SAMPLE_RATE, bool_env_enabled, buffer_duration_us,
|
||||
explicit_media_sources_required, mic_noise_suppression_from_env, mic_noise_suppression_level,
|
||||
mic_packet_target_bytes, pcm_payload_duration_us, split_audio_sample,
|
||||
};
|
||||
use gstreamer as gst;
|
||||
use serial_test::serial;
|
||||
|
||||
fn buffer_with_duration(size: usize, duration: Option<gst::ClockTime>) -> gst::Buffer {
|
||||
gst::init().ok();
|
||||
@ -77,3 +79,45 @@ fn trailing_microphone_packet_keeps_remaining_bytes() {
|
||||
assert_eq!(packets[2].data.len(), 960);
|
||||
assert_eq!(packets[2].pts, 45_000);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn microphone_noise_suppression_level_accepts_named_presets() {
|
||||
let cases = [
|
||||
("low", "low"),
|
||||
("medium", "moderate"),
|
||||
("moderate", "moderate"),
|
||||
("high", "high"),
|
||||
("very_high", "very-high"),
|
||||
("aggressive", "very-high"),
|
||||
("unknown", "very-high"),
|
||||
];
|
||||
|
||||
for (raw, expected) in cases {
|
||||
temp_env::with_var("LESAVKA_MIC_NOISE_SUPPRESSION_LEVEL", Some(raw), || {
|
||||
assert_eq!(mic_noise_suppression_level(), expected);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn boolean_microphone_flags_accept_plain_english_true_values() {
|
||||
for raw in ["1", "true", "yes", "on"] {
|
||||
temp_env::with_vars(
|
||||
[
|
||||
("LESAVKA_REQUIRE_EXPLICIT_MEDIA_SOURCES", Some(raw)),
|
||||
("LESAVKA_MIC_NOISE_SUPPRESSION", Some(raw)),
|
||||
],
|
||||
|| {
|
||||
assert!(explicit_media_sources_required());
|
||||
assert!(mic_noise_suppression_from_env());
|
||||
assert!(bool_env_enabled("LESAVKA_MIC_NOISE_SUPPRESSION"));
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
temp_env::with_var("LESAVKA_MIC_NOISE_SUPPRESSION", Some("false"), || {
|
||||
assert!(!mic_noise_suppression_from_env());
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user