Files

24 lines
733 B
Go
Raw Permalink Normal View History

2026-08-09 18:03:09 +01:00
package ical
import "testing"
func FuzzParse(f *testing.F) {
f.Add("BEGIN:VCALENDAR\r\nVERSION:2.0\r\nBEGIN:VEVENT\r\nUID:test-1\r\nDTSTART:20260101T120000Z\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n")
f.Add("BEGIN:VEVENT\nUID:no-crlf\nEND:VEVENT\n")
f.Add("BEGIN:VEVENT\r\nUID:folded\r\nDESCRIPTION:line one\r\n continued\r\nEND:VEVENT\r\n")
f.Add("")
f.Add("BEGIN:VEVENT\r\nEND:VEVENT\r\n")
f.Add("not an ical at all")
f.Add("BEGIN:VEVENT\r\nDTSTART:not-a-real-date\r\nUID:x\r\nEND:VEVENT\r\n")
f.Add("BEGIN:VEVENT\r\n:\r\nUID:x\r\nEND:VEVENT\r\n")
f.Fuzz(func(t *testing.T, data string) {
defer func() {
if r := recover(); r != nil {
t.Fatalf("Parse panicked on input %q: %v", data, r)
}
}()
Parse(data)
})
}