diff --git a/internal/charset/charset_test.go b/internal/charset/charset_test.go index d9b8603..a6e0587 100644 --- a/internal/charset/charset_test.go +++ b/internal/charset/charset_test.go @@ -55,3 +55,58 @@ func TestFromPlain(t *testing.T) { } } } + +func FuzzFromPlain(f *testing.F) { + samples := [][]byte{ + []byte{0xe6, 0xf8, 0xe5, 0x85, 0x85}, + []byte{0xe6, 0xf8, 0xe5}, + []byte("æøå"), + } + + for _, s := range samples { + f.Add(s) + } + + f.Fuzz(func(t *testing.T, d []byte) { + if charset := FromPlain(d); charset == "" { + t.Skip() + } + }) +} +func FuzzFromHTML(f *testing.F) { + samples := []string{ + ``, + ``, + ``, + ``, + ``, + ``, + ``, + ``, + } + + for _, s := range samples { + f.Add([]byte(s)) + } + + f.Fuzz(func(t *testing.T, d []byte) { + if charset := FromHTML(d); charset == "" { + t.Skip() + } + }) +} +func FuzzFromXML(f *testing.F) { + samples := []string{ + ``, + } + + for _, s := range samples { + f.Add([]byte(s)) + } + + f.Fuzz(func(t *testing.T, d []byte) { + if charset := FromXML(d); charset == "" { + t.Skip() + } + }) +}