diff --git a/src/cmus/player_settings.rs b/src/cmus/player_settings.rs index 74d249d..af5337b 100644 --- a/src/cmus/player_settings.rs +++ b/src/cmus/player_settings.rs @@ -75,7 +75,7 @@ impl FromStr for PlayerSettings { match key { "repeat" => repeat = value == "true", "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_right" => volume.right = value.parse().map_err(|e: ParseIntError| CmusError::UnknownError(e.to_string()))?, _ => {} @@ -124,6 +124,19 @@ mod tests { #[test] 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, + } + })); } } diff --git a/tests/samples/player_settings_mode-artist_vol-46_repeat-false_repeat_current-false_shuffle-tracks.txt b/tests/samples/player_settings_mode-artist_vol-46_repeat-false_repeat_current-false_shuffle-tracks.txt new file mode 100644 index 0000000..5373d35 --- /dev/null +++ b/tests/samples/player_settings_mode-artist_vol-46_repeat-false_repeat_current-false_shuffle-tracks.txt @@ -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