Add "inspect" command to CLI

This commit is contained in:
Deluan
2023-12-27 12:41:08 -05:00
parent ea7ba22699
commit 798b03eabd
6 changed files with 154 additions and 37 deletions
+17 -9
View File
@@ -9,7 +9,7 @@ var _ = Describe("Tags", func() {
DescribeTable("getDate",
func(tag string, expectedYear int, expectedDate string) {
md := &Tags{}
md.tags = map[string][]string{"date": {tag}}
md.Tags = map[string][]string{"date": {tag}}
testYear, testDate := md.Date()
Expect(testYear).To(Equal(expectedYear))
Expect(testDate).To(Equal(expectedDate))
@@ -29,7 +29,7 @@ var _ = Describe("Tags", func() {
Describe("getMbzID", func() {
It("return a valid MBID", func() {
md := &Tags{}
md.tags = map[string][]string{
md.Tags = map[string][]string{
"musicbrainz_trackid": {"8f84da07-09a0-477b-b216-cc982dabcde1"},
"musicbrainz_releasetrackid": {"6caf16d3-0b20-3fe6-8020-52e31831bc11"},
"musicbrainz_albumid": {"f68c985d-f18b-4f4a-b7f0-87837cf3fbf9"},
@@ -44,7 +44,7 @@ var _ = Describe("Tags", func() {
})
It("return empty string for invalid MBID", func() {
md := &Tags{}
md.tags = map[string][]string{
md.Tags = map[string][]string{
"musicbrainz_trackid": {"11406732-6"},
"musicbrainz_albumid": {"11406732"},
"musicbrainz_artistid": {"200455"},
@@ -60,7 +60,7 @@ var _ = Describe("Tags", func() {
Describe("getAllTagValues", func() {
It("returns values from all tag names", func() {
md := &Tags{}
md.tags = map[string][]string{
md.Tags = map[string][]string{
"genre": {"Rock", "Pop", "New Wave"},
}
@@ -68,23 +68,31 @@ var _ = Describe("Tags", func() {
})
})
Describe("removeDuplicates", func() {
Describe("removeDuplicatesAndEmpty", func() {
It("removes duplicates", func() {
md := NewTag("/music/artist/album01/Song.mp3", nil, ParsedTags{
"genre": []string{"pop", "rock", "pop"},
"date": []string{"2023-03-01", "2023-03-01"},
"mood": []string{"happy", "sad"},
})
Expect(md.tags).To(HaveKeyWithValue("genre", []string{"pop", "rock"}))
Expect(md.tags).To(HaveKeyWithValue("date", []string{"2023-03-01"}))
Expect(md.tags).To(HaveKeyWithValue("mood", []string{"happy", "sad"}))
Expect(md.Tags).To(HaveKeyWithValue("genre", []string{"pop", "rock"}))
Expect(md.Tags).To(HaveKeyWithValue("date", []string{"2023-03-01"}))
Expect(md.Tags).To(HaveKeyWithValue("mood", []string{"happy", "sad"}))
})
It("removes empty tags", func() {
md := NewTag("/music/artist/album01/Song.mp3", nil, ParsedTags{
"genre": []string{"pop", "rock", "pop"},
"mood": []string{"", ""},
})
Expect(md.Tags).To(HaveKeyWithValue("genre", []string{"pop", "rock"}))
Expect(md.Tags).ToNot(HaveKey("mood"))
})
})
Describe("Bpm", func() {
var t *Tags
BeforeEach(func() {
t = &Tags{tags: map[string][]string{
t = &Tags{Tags: map[string][]string{
"fbpm": []string{"141.7"},
}}
})