From 96fe3b952535aed506ef0e7a0d9df65acb213a45 Mon Sep 17 00:00:00 2001 From: Serial <69764315+Serial-ATA@users.noreply.github.com> Date: Mon, 20 Mar 2023 08:48:57 -0400 Subject: [PATCH] Tests: Add ignored TagLib OGA FLAC tests --- tests/taglib/data/segfault.oga | Bin 0 -> 120 bytes tests/taglib/main.rs | 3 ++- tests/taglib/test_ogaflac.rs | 45 +++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 tests/taglib/data/segfault.oga create mode 100644 tests/taglib/test_ogaflac.rs diff --git a/tests/taglib/data/segfault.oga b/tests/taglib/data/segfault.oga new file mode 100644 index 0000000000000000000000000000000000000000..e23c21706e2f87776b3b210be638f431e416c00e GIT binary patch literal 120 zcmeZIPY-5bVt|6`<8dhhK(-;${T;af=&?wZf>p|rsRR^Hyd>{Y-^*$$~ literal 0 HcmV?d00001 diff --git a/tests/taglib/main.rs b/tests/taglib/main.rs index c9c4c7321..b431252ba 100644 --- a/tests/taglib/main.rs +++ b/tests/taglib/main.rs @@ -10,7 +10,8 @@ mod test_id3v1; mod test_info; mod test_mp4; mod test_mpeg; +mod test_ogaflac; mod test_speex; +mod test_wav; mod test_wavpack; mod test_xiphcomment; -mod test_wav; diff --git a/tests/taglib/test_ogaflac.rs b/tests/taglib/test_ogaflac.rs new file mode 100644 index 000000000..80335ead2 --- /dev/null +++ b/tests/taglib/test_ogaflac.rs @@ -0,0 +1,45 @@ +use crate::temp_file; +use lofty::flac::FlacFile; +use lofty::ogg::VorbisComments; +use lofty::{Accessor, AudioFile, ParseOptions}; +use std::io::{Seek, SeekFrom}; + +#[test] +#[ignore] // TODO: We don't support FLAC in OGA +fn test_framing_bit() { + let mut file = temp_file!("tests/taglib/data/empty_flac.oga"); + + { + let mut f = FlacFile::read_from(&mut file, ParseOptions::new()).unwrap(); + file.rewind().unwrap(); + + let mut vorbis_comments = VorbisComments::new(); + vorbis_comments.set_artist(String::from("The Artist")); + f.set_vorbis_comments(vorbis_comments); + f.save_to(&mut file).unwrap(); + } + file.rewind().unwrap(); + { + let f = FlacFile::read_from(&mut file, ParseOptions::new()).unwrap(); + assert_eq!( + f.vorbis_comments().unwrap().artist().as_deref(), + Some("The Artist") + ); + + assert_eq!(file.seek(SeekFrom::End(0)).unwrap(), 9134); + } +} + +#[test] +#[ignore] // TODO +fn test_fuzzed_file() { + let mut file = temp_file!("tests/taglib/data/segfault.oga"); + let f = FlacFile::read_from(&mut file, ParseOptions::new()); + assert!(f.is_err()); +} + +#[test] +#[ignore] +fn test_split_packets() { + // Marker test, Lofty does not retain the packet information +}