#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum WebpMode {
#[default]
Lossless,
Lossy,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct WebpConfig {
pub mode: WebpMode,
pub quality: u8,
}
impl Default for WebpConfig {
fn default() -> Self {
Self {
mode: WebpMode::Lossless,
quality: 75,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn default_is_lossless_quality_75() {
let c = WebpConfig::default();
assert_eq!(c.mode, WebpMode::Lossless);
assert_eq!(c.quality, 75);
assert_eq!(WebpMode::default(), WebpMode::Lossless);
}
}