From 8555ca4ed28b16468ce4cec7342fb8e653866495 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:51:53 -0400 Subject: [PATCH] Passing test --- src/lib.rs | 50 +++++++++++--------------------------------------- 1 file changed, 11 insertions(+), 39 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 24dab37..e8b9ce9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,35 +9,6 @@ mod meta_type { } } -mod meta { - use super::*; - use taglib; - - pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { - match t { - meta_type::Type::Title => match get_file(filepath) { - Ok(file) => match get_tag(&file) { - Ok(tag) => match tag.title() { - Some(title) => Ok(title), - None => Err(taglib::FileError::NoAvailableTag), - }, - Err(err) => Err(err), - }, - Err(err) => Err(err), - }, - _ => Err(taglib::FileError::InvalidFile), - } - } - - fn get_file(filepath: &String) -> Result { - taglib::File::new(filepath) - } - - fn get_tag(tag: &taglib::File) -> Result { - tag.tag() - } -} - mod meta_nouveaou { use super::*; @@ -47,15 +18,16 @@ mod meta_nouveaou { match t { meta_type::Type::Title => match new_meta(&filepath) { Ok(metaa) => { - let mut result = String::new(); - for item in metaa.tags { - result += &String::from(" "); - result += &item.0; - result += &item.1; + if item.0 == "TITLE" { + return Ok(item.1); + } } - Ok(result) + Err(std::io::Error::new( + std::io::ErrorKind::InvalidData, + "Tag not found", + )) } Err(err) => Err(err), }, @@ -85,7 +57,7 @@ mod tests { #[test] fn test_get_title() { let filename = String::from("track01.flac"); - let dir = String::from("tests"); + let dir = String::from("tests/sample_tracks3"); let dir_path = std::path::Path::new(&dir); let full_path = dir_path.join(filename); @@ -95,9 +67,9 @@ mod tests { let filepath = full_path.display().to_string(); match meta_nouveaou::get_meta(meta_type::Type::Title, &filepath) { - Ok(_title) => { - let found = _title.contains("Just"); - assert!(found, "Meta information was not found"); + Ok(title) => { + let found = title == "Just roll it"; + assert!(found, "Meta information was not found {:?}", title); } Err(err) => { assert!(false, "Error: {:?}", err);