From fb531877ac64f1d8eda862ae0cb4bcba1e327240 Mon Sep 17 00:00:00 2001 From: Serial <69764315+Serial-ATA@users.noreply.github.com> Date: Tue, 29 Jun 2021 14:51:49 -0400 Subject: [PATCH] Add conversion tests Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com> --- tests/conversions.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/conversions.rs diff --git a/tests/conversions.rs b/tests/conversions.rs new file mode 100644 index 00000000..f117d9f4 --- /dev/null +++ b/tests/conversions.rs @@ -0,0 +1,34 @@ +use lofty::{OggFormat, Tag, TagType, Id3Format}; + +macro_rules! convert_tag { + ($tag: ident) => { + assert_eq!($tag.title(), Some("Title Updated")); + assert_eq!($tag.artist_str(), Some("Artist Updated")); + assert_eq!($tag.album_artist_str(), Some("Album Artist Updated")); + }; +} + +#[test] +fn test_conversions() { + let mut tag = Tag::new().read_from_path("tests/assets/a.mp3").unwrap(); + + tag.set_title("Title Updated"); + tag.set_artist("Artist Updated"); + tag.set_album_artist("Album Artist Updated"); + convert_tag!(tag); + + let tag = tag.to_dyn_tag(TagType::Ape); + convert_tag!(tag); + + let tag = tag.to_dyn_tag(TagType::Mp4); + convert_tag!(tag); + + let tag = tag.to_dyn_tag(TagType::RiffInfo); + convert_tag!(tag); + + let tag = tag.to_dyn_tag(TagType::Ogg(OggFormat::Vorbis)); + convert_tag!(tag); + + let tag = tag.to_dyn_tag(TagType::Id3v2(Id3Format::Form)); + convert_tag!(tag); +}