use bytes::Bytes;
pub struct SilenceTemplate {
data: Bytes,
}
impl SilenceTemplate {
pub fn new_embedded(raw: &'static [u8]) -> Self {
Self {
data: Bytes::from_static(raw),
}
}
pub fn raw_bytes(&self) -> &[u8] {
&self.data
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_silence_template_creation() {
let silence_data = include_bytes!("../resources/silence_default.ogg");
let template = SilenceTemplate::new_embedded(silence_data);
assert_eq!(template.raw_bytes(), silence_data.as_slice());
}
#[test]
fn test_silence_raw_bytes() {
let custom_data = b"custom silence data";
let template = SilenceTemplate {
data: bytes::Bytes::from(custom_data.to_vec()),
};
assert_eq!(template.raw_bytes(), custom_data);
}
}