Skip to content

Commit 5670d8a

Browse files
committed
Test added
1 parent 4b57639 commit 5670d8a

9 files changed

+178
-0
lines changed

calendar_test.go

+30
Original file line numberDiff line numberDiff line change
@@ -493,3 +493,33 @@ func TestIssue77(t *testing.T) {
493493
t.Fatalf("Error reading file: %s", err)
494494
}
495495
}
496+
497+
func TestIssue111(t *testing.T) {
498+
type Test struct {
499+
name string
500+
fn string
501+
}
502+
for _, test := range []Test{
503+
{name: "Just the basis", fn: "base-structure.ics"},
504+
{name: "vtimezone1 section", fn: "vtimezone1.ics"},
505+
{name: "vevent1 section", fn: "vevent1.ics"},
506+
{name: "vevent2 section", fn: "vevent2.ics"},
507+
{name: "scheduleversion section", fn: "scheduleversion.ics"},
508+
{name: "Just the basis", fn: "base-structure.ics"},
509+
{name: "vevent2 without description section", fn: "vevent2-no-desc.ics"},
510+
{name: "vevent2 fixed section", fn: "vevent2-fixed.ics"},
511+
{name: "Full file", fn: "file1.ics"},
512+
} {
513+
t.Run(test.name, func(t *testing.T) {
514+
calFile, err := TestData.Open("testdata/issue111/" + test.fn)
515+
if err != nil {
516+
t.Errorf("read file: %v", err)
517+
}
518+
_, err = ParseCalendar(calFile)
519+
if err != nil {
520+
t.Errorf("parse calendar: %v", err)
521+
}
522+
})
523+
}
524+
525+
}

testdata/issue111/base-structure.ics

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
END:VCALENDAR

testdata/issue111/file1.ics

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
BEGIN:VTIMEZONE
6+
TZID:Europe/Moscow
7+
X-LIC-LOCATION:Europe/Moscow
8+
BEGIN:STANDARD
9+
TZOFFSETFROM:+0300
10+
TZOFFSETTO:+0300
11+
END:STANDARD
12+
END:VTIMEZONE
13+
BEGIN:VEVENT
14+
DTEND;TZID=Europe/Moscow;VALUE=DATE:20240324
15+
DTSTAMP;TZID=Europe/Moscow:00010101T000000
16+
DTSTART;TZID=Europe/Moscow;VALUE=DATE:20240323
17+
SEQUENCE:0
18+
SUMMARY:Все занятия в дистанционном формате
19+
TRANSP:TRANSPARENT
20+
UID:c68bc5ec-e46f-55ae-9f0a-9cea4365dc9b
21+
END:VEVENT
22+
BEGIN:VEVENT
23+
CATEGORIES:ЛК
24+
DESCRIPTION:Преподаватель: Корягин Сергей Викторович\n\nГруппы:\nБСБО-01-2
25+
1\nБСБО-02-21\nБСБО-04-21\n
26+
DTEND;TZID=Europe/Moscow:20240902T121000
27+
DTSTAMP:00010101T000000
28+
DTSTART;TZID=Europe/Moscow:20240902T104000
29+
LOCATION:455 (С-20)
30+
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20241230T210000Z
31+
SEQUENCE:0
32+
SUMMARY:ЛК Создание инструментальных средств разработки программного обесп
33+
ечения
34+
TRANSP:OPAQUE
35+
UID:f9de3adf-37f2-5710-abaf-27bd64443c70
36+
X-SCHEDULE_VERSION-ID:8
37+
END:VEVENT
38+
BEGIN:X-SCHEDULE-VERSION
39+
SVID:8
40+
X-SV-END:2024-12-30T21:00:00.0000000Z
41+
X-SV-START:2024-09-01T21:00:00.0000000Z
42+
X-SV-TYPE:SEMESTER
43+
END:X-SCHEDULE-VERSION
44+
END:VCALENDAR

testdata/issue111/scheduleversion.ics

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
BEGIN:X-SCHEDULE-VERSION
6+
SVID:8
7+
X-SV-END:2024-12-30T21:00:00.0000000Z
8+
X-SV-START:2024-09-01T21:00:00.0000000Z
9+
X-SV-TYPE:SEMESTER
10+
END:X-SCHEDULE-VERSION
11+
END:VCALENDAR

testdata/issue111/vevent1.ics

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
BEGIN:VEVENT
6+
DTEND;TZID=Europe/Moscow;VALUE=DATE:20240324
7+
DTSTAMP;TZID=Europe/Moscow:00010101T000000
8+
DTSTART;TZID=Europe/Moscow;VALUE=DATE:20240323
9+
SEQUENCE:0
10+
SUMMARY:Все занятия в дистанционном формате
11+
TRANSP:TRANSPARENT
12+
UID:c68bc5ec-e46f-55ae-9f0a-9cea4365dc9b
13+
END:VEVENT
14+
END:VCALENDAR

testdata/issue111/vevent2-fixed.ics

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
BEGIN:VEVENT
6+
CATEGORIES:ЛК
7+
DESCRIPTION:Преподаватель: Корягин Сергей Викторович\n\nГруппы:\nБСБО-01-2
8+
1\nБСБО-02-21\nБСБО-04-21\n
9+
DTEND;TZID=Europe/Moscow:20240902T121000
10+
DTSTAMP:00010101T000000
11+
DTSTART;TZID=Europe/Moscow:20240902T104000
12+
LOCATION:455 (С-20)
13+
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20241230T210000Z
14+
SEQUENCE:0
15+
SUMMARY:ЛК Создание инструментальных средств разработки программного обесп
16+
ечения
17+
TRANSP:OPAQUE
18+
UID:f9de3adf-37f2-5710-abaf-27bd64443c70
19+
X-SCHEDULE-VERSION-ID:8
20+
END:VEVENT
21+
END:VCALENDAR

testdata/issue111/vevent2-no-desc.ics

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
BEGIN:VEVENT
6+
CATEGORIES:ЛК
7+
DTEND;TZID=Europe/Moscow:20240902T121000
8+
DTSTAMP:00010101T000000
9+
DTSTART;TZID=Europe/Moscow:20240902T104000
10+
LOCATION:455 (С-20)
11+
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20241230T210000Z
12+
SEQUENCE:0
13+
SUMMARY:ЛК Создание инструментальных средств разработки программного обесп
14+
ечения
15+
TRANSP:OPAQUE
16+
UID:f9de3adf-37f2-5710-abaf-27bd64443c70
17+
X-SCHEDULE_VERSION-ID:8
18+
END:VEVENT
19+
END:VCALENDAR

testdata/issue111/vevent2.ics

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
BEGIN:VEVENT
6+
CATEGORIES:ЛК
7+
DESCRIPTION:Преподаватель: Корягин Сергей Викторович\n\nГруппы:\nБСБО-01-2
8+
1\nБСБО-02-21\nБСБО-04-21\n
9+
DTEND;TZID=Europe/Moscow:20240902T121000
10+
DTSTAMP:00010101T000000
11+
DTSTART;TZID=Europe/Moscow:20240902T104000
12+
LOCATION:455 (С-20)
13+
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20241230T210000Z
14+
SEQUENCE:0
15+
SUMMARY:ЛК Создание инструментальных средств разработки программного обесп
16+
ечения
17+
TRANSP:OPAQUE
18+
UID:f9de3adf-37f2-5710-abaf-27bd64443c70
19+
X-SCHEDULE_VERSION-ID:8
20+
END:VEVENT
21+
END:VCALENDAR

testdata/issue111/vtimezone1.ics

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
BEGIN:VCALENDAR
2+
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
3+
VERSION:2.0
4+
X-WR-CALNAME:БСБО-01-21
5+
BEGIN:VTIMEZONE
6+
TZID:Europe/Moscow
7+
X-LIC-LOCATION:Europe/Moscow
8+
BEGIN:STANDARD
9+
TZOFFSETFROM:+0300
10+
TZOFFSETTO:+0300
11+
END:STANDARD
12+
END:VTIMEZONE
13+
END:VCALENDAR

0 commit comments

Comments
 (0)