🏡 index : quine-global/quintodrome.git

package metadata

import (
	"github.com/navidrome/navidrome/model"
	. "github.com/onsi/ginkgo/v2"
	. "github.com/onsi/gomega"
)

var _ = DescribeTable("sanitize truncation with a tiny MaxLength",
	// A value of only continuation bytes drains the partial-rune loop to empty; the loop
	// must stop there instead of slicing value[:-1] and panicking.
	func(maxLength int, value string) {
		Expect(func() {
			Expect(sanitize("file.mp3", "title", model.TagConf{MaxLength: maxLength}, value)).To(Equal(""))
		}).NotTo(Panic())
	},
	Entry("maxLength 1", 1, "\x80\x80"),
	Entry("maxLength 2", 2, "\x80\x80\x80"),
	Entry("maxLength 3", 3, "\x80\x80\x80\x80"),
)