Create a unit test for test parse player_settings from striing and fix the aaa_mode match

This commit is contained in:
Anas Elgarhy 2023-02-12 04:37:14 +02:00
parent 5a1e37c3c2
commit 6b299b9fb8
No known key found for this signature in database
GPG key ID: 0501802A1D496528
2 changed files with 27 additions and 1 deletions

View file

@ -75,7 +75,7 @@ impl FromStr for PlayerSettings {
match key { match key {
"repeat" => repeat = value == "true", "repeat" => repeat = value == "true",
"shuffle" => shuffle = Shuffle::from_str(value)?, "shuffle" => shuffle = Shuffle::from_str(value)?,
"aa_mode" => aa_mode = AAAMode::from_str(value)?, "aaa_mode" => aa_mode = AAAMode::from_str(value)?,
"vol_left" => volume.left = value.parse().map_err(|e: ParseIntError| CmusError::UnknownError(e.to_string()))?, "vol_left" => volume.left = value.parse().map_err(|e: ParseIntError| CmusError::UnknownError(e.to_string()))?,
"vol_right" => volume.right = value.parse().map_err(|e: ParseIntError| CmusError::UnknownError(e.to_string()))?, "vol_right" => volume.right = value.parse().map_err(|e: ParseIntError| CmusError::UnknownError(e.to_string()))?,
_ => {} _ => {}
@ -124,6 +124,19 @@ mod tests {
#[test] #[test]
fn test_parse_player_settings_from_str() { fn test_parse_player_settings_from_str() {
let setting_sample = include_str!(
"../../tests/samples/player_settings_mode-artist_vol-46_repeat-false_repeat_current-false_shuffle-tracks.txt");
let settings = PlayerSettings::from_str(setting_sample);
assert_eq!(settings, Ok(PlayerSettings {
repeat: false,
shuffle: Shuffle::Tracks,
aa_mode: AAAMode::Artist,
volume: Volume {
left: 46,
right: 46,
}
}));
} }
} }

View file

@ -0,0 +1,13 @@
set aaa_mode artist
set continue true
set play_library true
set play_sorted true
set replaygain disabled
set replaygain_limit true
set replaygain_preamp 0.000000
set repeat false
set repeat_current false
set shuffle tracks
set softvol false
set vol_left 46
set vol_right 46