mirror of
https://github.com/Serial-ATA/lofty-rs
synced 2024-11-10 06:34:18 +00:00
add some tests
This commit is contained in:
parent
5ea4cca24d
commit
aabb741a6c
2 changed files with 55 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "audiotags"
|
||||
version = "0.1.0"
|
||||
version = "0.1.3"
|
||||
authors = ["Tianyi <ShiTianyi2001@outlook.com>"]
|
||||
edition = "2018"
|
||||
description = "Unified IO for different types of audio metadata"
|
||||
|
|
54
tests/io.rs
Normal file
54
tests/io.rs
Normal file
|
@ -0,0 +1,54 @@
|
|||
use audiotags::{MimeType, Picture};
|
||||
|
||||
macro_rules! test_file {
|
||||
( $function:ident, $file:expr ) => {
|
||||
#[test]
|
||||
fn $function() {
|
||||
let mut tags = audiotags::read_from_path($file).unwrap();
|
||||
tags.set_title("foo title");
|
||||
assert_eq!(tags.title(), Some("foo title"));
|
||||
tags.remove_title();
|
||||
assert!(tags.title().is_none());
|
||||
tags.remove_title(); // should not panic
|
||||
|
||||
tags.set_artist("foo artist");
|
||||
assert_eq!(tags.artist(), Some("foo artist"));
|
||||
tags.remove_artist();
|
||||
assert!(tags.artist().is_none());
|
||||
tags.remove_artist();
|
||||
|
||||
tags.set_year(2020);
|
||||
assert_eq!(tags.year(), Some(2020));
|
||||
tags.remove_year();
|
||||
assert!(tags.year().is_none());
|
||||
tags.remove_year();
|
||||
|
||||
tags.set_album_title("foo album title");
|
||||
assert_eq!(tags.album_title(), Some("foo album title"));
|
||||
tags.remove_album_title();
|
||||
assert!(tags.album_title().is_none());
|
||||
tags.remove_album_title();
|
||||
|
||||
tags.set_album_artist("foo album artist");
|
||||
assert_eq!(tags.album_artist(), Some("foo album artist"));
|
||||
tags.remove_album_artist();
|
||||
assert!(tags.album_artist().is_none());
|
||||
tags.remove_album_artist();
|
||||
|
||||
let cover = Picture {
|
||||
mime_type: MimeType::Jpeg,
|
||||
data: vec![0u8; 10],
|
||||
};
|
||||
|
||||
tags.set_album_cover(cover.clone());
|
||||
assert_eq!(tags.album_cover(), Some(cover));
|
||||
tags.remove_album_cover();
|
||||
assert!(tags.album_cover().is_none());
|
||||
tags.remove_album_cover();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
test_file!(test_mp3, "assets/a.mp3");
|
||||
test_file!(test_m4a, "assets/a.m4a");
|
||||
test_file!(test_flac, "assets/a.flac");
|
Loading…
Reference in a new issue