navidrome/utils/index_group_parser_test.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

39 lines
1009 B
Go
Raw Normal View History

2016-03-01 18:43:55 +01:00
package utils
import (
2022-07-26 22:47:16 +02:00
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
2016-03-01 18:43:55 +01:00
)
var _ = Describe("ParseIndexGroup", func() {
Context("Two simple entries", func() {
It("returns the entries", func() {
parsed := ParseIndexGroups("A The")
2016-03-01 18:43:55 +01:00
Expect(parsed).To(HaveLen(2))
Expect(parsed["A"]).To(Equal("A"))
Expect(parsed["The"]).To(Equal("The"))
})
2016-03-01 23:07:13 +01:00
})
Context("An entry with a group", func() {
2016-03-01 23:07:13 +01:00
parsed := ParseIndexGroups("A-C(ABC) Z")
It("parses the groups correctly", func() {
Expect(parsed).To(HaveLen(4))
Expect(parsed["A"]).To(Equal("A-C"))
Expect(parsed["B"]).To(Equal("A-C"))
Expect(parsed["C"]).To(Equal("A-C"))
Expect(parsed["Z"]).To(Equal("Z"))
})
2016-03-01 23:07:13 +01:00
})
Context("Correctly parses UTF-8", func() {
2016-03-01 23:07:13 +01:00
parsed := ParseIndexGroups("UTF8(宇A海)")
It("parses the groups correctly", func() {
Expect(parsed).To(HaveLen(3))
Expect(parsed["宇"]).To(Equal("UTF8"))
Expect(parsed["A"]).To(Equal("UTF8"))
Expect(parsed["海"]).To(Equal("UTF8"))
})
2016-03-01 23:07:13 +01:00
})
})