Skip to content

Commit 6a6f015

Browse files
authored
Fix ICS folding for calendar imports
1 parent 35ac583 commit 6a6f015

2 files changed

Lines changed: 68 additions & 62 deletions

File tree

calendar.ics

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ LOCATION:Portland\, OR\, USA
1414
URL:https://www.testingmind.com/event/test-automation-summit-portland/?utm_
1515
source=testingconferences
1616
DESCRIPTION:Dates: March 26\, 2026\nStatus: Registration is Open\nURL: http
17-
s://www.testingmind.com/event/test-automation-summit-portland/?utm_source=t
18-
estingconferences
17+
s://www.testingmind.com/event/test-automation-summit-portland/?utm_source=
18+
testingconferences
1919
END:VEVENT
2020
BEGIN:VEVENT
2121
UID:807f03738e16cb4ec624aa5badbb334283f57eab@testingconferences.org
@@ -49,8 +49,8 @@ LOCATION:San Francisco\, CA\, USA
4949
URL:https://testguild.com/irl/san-francisco-2026?utm_source=testingconferen
5050
ces
5151
DESCRIPTION:Dates: April 8\, 2026\nStatus: Registration is Open & Free (Lim
52-
ited to 100 seats)\nURL: https://testguild.com/irl/san-francisco-2026?utm_s
53-
ource=testingconferences
52+
ited to 100 seats)\nURL: https://testguild.com/irl/san-francisco-2026?utm_
53+
source=testingconferences
5454
END:VEVENT
5555
BEGIN:VEVENT
5656
UID:76bcc7cce57e58eaf322a19efa7a2e103b5a8611@testingconferences.org
@@ -62,8 +62,8 @@ LOCATION:Fullerton\, CA\, USA
6262
URL:https://testguild.com/irl/los-angeles-2026?utm_source=testingconference
6363
s
6464
DESCRIPTION:Dates: April 9\, 2026\nStatus: Registration is Open & Free (Lim
65-
ited to 100 seats)\nURL: https://testguild.com/irl/los-angeles-2026?utm_sou
66-
rce=testingconferences
65+
ited to 100 seats)\nURL: https://testguild.com/irl/los-angeles-2026?utm_so
66+
urce=testingconferences
6767
END:VEVENT
6868
BEGIN:VEVENT
6969
UID:ea88b1f6301c4eebe1c8f5160df6be1cf8841a2c@testingconferences.org
@@ -101,8 +101,8 @@ LOCATION:Sophia Antipolis\, FR
101101
URL:https://www.etsi.org/events/2540-2026-04-12th-ucaat-user-conference-on-
102102
advanced-automated-testing?utm_source=testingconferences
103103
DESCRIPTION:Dates: April 14-16\, 2026\nURL: https://www.etsi.org/events/254
104-
0-2026-04-12th-ucaat-user-conference-on-advanced-automated-testing?utm_sour
105-
ce=testingconferences
104+
0-2026-04-12th-ucaat-user-conference-on-advanced-automated-testing?utm_sou
105+
rce=testingconferences
106106
END:VEVENT
107107
BEGIN:VEVENT
108108
UID:9fe7746ce0b8a973fed0d04e536e865630bfea69@testingconferences.org
@@ -148,8 +148,8 @@ LOCATION:Toronto\, ON\, Canada
148148
URL:https://qafinancial.zohobackstage.eu/QAFinancialForumToronto2026#/?affl
149149
=softwaretestingemail
150150
DESCRIPTION:Dates: April 23\, 2026\nStatus: Registration is Open\nURL: http
151-
s://qafinancial.zohobackstage.eu/QAFinancialForumToronto2026#/?affl=softwar
152-
etestingemail
151+
s://qafinancial.zohobackstage.eu/QAFinancialForumToronto2026#/?affl=softwa
152+
retestingemail
153153
END:VEVENT
154154
BEGIN:VEVENT
155155
UID:842f9d22c99632b5fd1909eb7c827f53afb327ba@testingconferences.org
@@ -171,8 +171,8 @@ SUMMARY:STAREAST 2026
171171
LOCATION:Orlando\, FL\, USA and Online
172172
URL:https://stareast.techwell.com?utm_source=testingconferences
173173
DESCRIPTION:Dates: April 26 - May 1\, 2026\nStatus: Early Bird Pricing is O
174-
pen until March 27\, 2026\nURL: https://stareast.techwell.com?utm_source=te
175-
stingconferences
174+
pen until March 27\, 2026\nURL: https://stareast.techwell.com?utm_source=t
175+
estingconferences
176176
END:VEVENT
177177
BEGIN:VEVENT
178178
UID:496b018bff726bc862e9f04880891bf0564cdcc1@testingconferences.org
@@ -228,8 +228,8 @@ LOCATION:New York\, NY\, USA
228228
URL:https://qafinancial.zohobackstage.eu/QAFinancialE-commerceForumNewYork2
229229
026#/?affl=softwaretestingemail
230230
DESCRIPTION:Dates: May 12\, 2026\nStatus: Registration is Open\nURL: https:
231-
//qafinancial.zohobackstage.eu/QAFinancialE-commerceForumNewYork2026#/?affl
232-
=softwaretestingemail
231+
//qafinancial.zohobackstage.eu/QAFinancialE-commerceForumNewYork2026#/?aff
232+
l=softwaretestingemail
233233
END:VEVENT
234234
BEGIN:VEVENT
235235
UID:61b3fcaed03a551e02411ff7aac1bbae514764f9@testingconferences.org
@@ -295,8 +295,8 @@ SUMMARY:QA or the Highway
295295
LOCATION:Columbus\, Ohio\, USA
296296
URL:https://www.qaorthehwy.com/?utm_source=testingconferences
297297
DESCRIPTION:Dates: June 12\, 2026\nStatus: Early Bird Registration is Open
298-
until May 15\, 2026\nURL: https://www.qaorthehwy.com/?utm_source=testingcon
299-
ferences
298+
until May 15\, 2026\nURL: https://www.qaorthehwy.com/?utm_source=testingco
299+
nferences
300300
END:VEVENT
301301
BEGIN:VEVENT
302302
UID:086f0f2692fab3d16ff23a87a36a38c73ca0c698@testingconferences.org
@@ -308,8 +308,8 @@ LOCATION:Oslo\, Norway
308308
URL:https://conference.eurostarsoftwaretesting.com/?utm_source=testingconfe
309309
rences
310310
DESCRIPTION:Dates: June 15-18\, 2026\nStatus: Early Bird Pricing is Open\nU
311-
RL: https://conference.eurostarsoftwaretesting.com/?utm_source=testingconfe
312-
rences
311+
RL: https://conference.eurostarsoftwaretesting.com/?utm_source=testingconf
312+
erences
313313
END:VEVENT
314314
BEGIN:VEVENT
315315
UID:5527eed05a0a6fabb1922dbe22123ca11b76d20b@testingconferences.org
@@ -320,12 +320,12 @@ SUMMARY:Human-Centred Testing: People and Practices & the Future of the Pro
320320
fession
321321
LOCATION:London\, UK
322322
URL:https://www.bcs.org/membership-and-registrations/member-communities/sof
323-
tware-testing-specialist-group/conferences/call-for-speakers/?utm_source=te
324-
stingconferences
323+
tware-testing-specialist-group/conferences/call-for-speakers/?utm_source=t
324+
estingconferences
325325
DESCRIPTION:Dates: July 7\, 2026\nStatus: CFP is Open until March 31\, 2026
326-
\nURL: https://www.bcs.org/membership-and-registrations/member-communities/
327-
software-testing-specialist-group/conferences/call-for-speakers/?utm_source
328-
=testingconferences
326+
\nURL: https://www.bcs.org/membership-and-registrations/member-communities
327+
/software-testing-specialist-group/conferences/call-for-speakers/?utm_sour
328+
ce=testingconferences
329329
END:VEVENT
330330
BEGIN:VEVENT
331331
UID:cb872d79e145c194b8551b986301083ccebcf270@testingconferences.org
@@ -337,8 +337,8 @@ LOCATION:Amsterdam\, Netherlands or Online
337337
URL:https://waset.org/software-testing-process-conference-in-august-2026-in
338338
-amsterdam?utm_source=testingconferences
339339
DESCRIPTION:Dates: August 3-4\, 2026\nURL: https://waset.org/software-testi
340-
ng-process-conference-in-august-2026-in-amsterdam?utm_source=testingconfere
341-
nces
340+
ng-process-conference-in-august-2026-in-amsterdam?utm_source=testingconfer
341+
ences
342342
END:VEVENT
343343
BEGIN:VEVENT
344344
UID:0e0859beb1114d6f9329702b30f339c3ac1a9901@testingconferences.org
@@ -362,8 +362,8 @@ LOCATION:Sydney\, Australia
362362
URL:https://www.testingtalks.com.au/upcoming-events/testing-talks-conferenc
363363
e-2026-sydney?utm_source=testingconferences
364364
DESCRIPTION:Dates: August 6\, 2026\nURL: https://www.testingtalks.com.au/up
365-
coming-events/testing-talks-conference-2026-sydney?utm_source=testingconfer
366-
ences
365+
coming-events/testing-talks-conference-2026-sydney?utm_source=testingconfe
366+
rences
367367
END:VEVENT
368368
BEGIN:VEVENT
369369
UID:5ae178fc7da2594a99636416f75484a5b132e8f4@testingconferences.org
@@ -375,8 +375,8 @@ LOCATION:Online
375375
URL:https://www.testmuai.com/testmuconf-2026?utm_source=STC&utm_medium=orga
376376
nic&utm_content=testmu_2026
377377
DESCRIPTION:Dates: August 19-21\, 2026\nStatus: Registration is Open | CFP
378-
is Open until May 31\, 2026\nURL: https://www.testmuai.com/testmuconf-2026?
379-
utm_source=STC&utm_medium=organic&utm_content=testmu_2026
378+
is Open until May 31\, 2026\nURL: https://www.testmuai.com/testmuconf-2026
379+
?utm_source=STC&utm_medium=organic&utm_content=testmu_2026
380380
END:VEVENT
381381
BEGIN:VEVENT
382382
UID:e649a20a21d84cd284d2ceb5ac183f89fabc580f@testingconferences.org
@@ -398,8 +398,8 @@ SUMMARY:STARWEST 2026
398398
LOCATION:Anaheim\, CA\, USA and Online
399399
URL:https://starwest.techwell.com/?utm_source=testingconferences
400400
DESCRIPTION:Dates: September 20-25\, 2026\nStatus: Super Early Bird Pricing
401-
is Open until July 24\, 2026\nURL: https://starwest.techwell.com/?utm_sour
402-
ce=testingconferences
401+
is Open until July 24\, 2026\nURL: https://starwest.techwell.com/?utm_sou
402+
rce=testingconferences
403403
END:VEVENT
404404
BEGIN:VEVENT
405405
UID:5f5890729080424c2c8d060847ce1551e3d250b3@testingconferences.org
@@ -410,8 +410,8 @@ SUMMARY:Targeting Quality 2026
410410
LOCATION:Cambridge\, Ontario\, Canada
411411
URL:https://targetingquality.ca/?utm_source=testingconferences
412412
DESCRIPTION:Dates: September 21-22\, 2026\nStatus: CFP is Open until April
413-
14\, 2026 and Super Early Bird Registration is Open until April 26\, 2026\n
414-
URL: https://targetingquality.ca/?utm_source=testingconferences
413+
14\, 2026 and Super Early Bird Registration is Open until April 26\, 2026\
414+
nURL: https://targetingquality.ca/?utm_source=testingconferences
415415
END:VEVENT
416416
BEGIN:VEVENT
417417
UID:6ec34707b48bbdee93aae33651fdda25a270b180@testingconferences.org
@@ -422,8 +422,8 @@ SUMMARY:Tesena Fest 2026
422422
LOCATION:Prague\, Czech Republic
423423
URL:https://www.tesena.com/en/tesena-fest-2026/a-189/
424424
DESCRIPTION:Dates: September 24-25\, 2026\nStatus: Super Early Bird Pricing
425-
is Open | CFP is Open until March 31\, 2026\nURL: https://www.tesena.com/e
426-
n/tesena-fest-2026/a-189/
425+
is Open | CFP is Open until March 31\, 2026\nURL: https://www.tesena.com/
426+
en/tesena-fest-2026/a-189/
427427
END:VEVENT
428428
BEGIN:VEVENT
429429
UID:bb48f0e52b627ae20e911a1dca702d3697d2bf46@testingconferences.org
@@ -434,8 +434,8 @@ SUMMARY:MoTaCon 2026
434434
LOCATION:Brighton\, UK
435435
URL:https://www.ministryoftesting.com/motacon?utm_source=testingconferences
436436
DESCRIPTION:Dates: October 1\, 2026\nStatus: Registration is Open and Free
437-
for Members\nURL: https://www.ministryoftesting.com/motacon?utm_source=test
438-
ingconferences
437+
for Members\nURL: https://www.ministryoftesting.com/motacon?utm_source=tes
438+
tingconferences
439439
END:VEVENT
440440
BEGIN:VEVENT
441441
UID:9358be4b6a245e984cff0308ce4b364cb087526a@testingconferences.org
@@ -469,8 +469,8 @@ LOCATION:Melbourne\, Australia
469469
URL:https://www.testingtalks.com.au/upcoming-events/testing-talks-conferenc
470470
e-2026-melbourne?utm_source=testingconferences
471471
DESCRIPTION:Dates: October 8\, 2026\nURL: https://www.testingtalks.com.au/u
472-
pcoming-events/testing-talks-conference-2026-melbourne?utm_source=testingco
473-
nferences
472+
pcoming-events/testing-talks-conference-2026-melbourne?utm_source=testingc
473+
onferences
474474
END:VEVENT
475475
BEGIN:VEVENT
476476
UID:3afd9d1870077f6603f33b9426152329a03b835a@testingconferences.org
@@ -515,8 +515,8 @@ SUMMARY:QA&TEST International Conference on Software QA & Testing on Embedd
515515
LOCATION:Bilbao\, Spain
516516
URL:https://embedded.qatest.org/?lang=en&utm_source=testingconferences
517517
DESCRIPTION:Dates: October 14-16\, 2026\nStatus: CFP is Open until March 31
518-
\, 2026 | Early Bird Pricing is Open until July 31\, 2026\nURL: https://emb
519-
edded.qatest.org/?lang=en&utm_source=testingconferences
518+
\, 2026 | Early Bird Pricing is Open until July 31\, 2026\nURL: https://em
519+
bedded.qatest.org/?lang=en&utm_source=testingconferences
520520
END:VEVENT
521521
BEGIN:VEVENT
522522
UID:7b3da48f060cf25ca5ac50efe7a025d5d95835a7@testingconferences.org
@@ -527,8 +527,8 @@ SUMMARY:DSTB Quality Beacon 2026
527527
LOCATION:Copenhagen\, Denmark
528528
URL:https://www.dstb.dk/konferencer/2026?utm_source=testingconferences
529529
DESCRIPTION:Dates: October 20-21\, 2026\nStatus: Very Early Registration is
530-
Open until April 30\, 2026\nURL: https://www.dstb.dk/konferencer/2026?utm_
531-
source=testingconferences
530+
Open until April 30\, 2026\nURL: https://www.dstb.dk/konferencer/2026?utm
531+
_source=testingconferences
532532
END:VEVENT
533533
BEGIN:VEVENT
534534
UID:609a2d6a62d1fee59dceeb48ac45546b72e43d3a@testingconferences.org
@@ -549,14 +549,14 @@ DTEND;VALUE=DATE:20261023
549549
SUMMARY:CypressConf 2026
550550
LOCATION:Online
551551
URL:https://cypress.registration.goldcast.io/events/670deb6c-06ee-4ce8-858b
552-
-8a4db3a62eb1?utm_source=website_events&utm_medium=event_page&utm_campaign=
553-
cypressconf2026&utm_term=01-22-2026&utm_content=cypressconf?utm_source=test
554-
ingconferences
552+
-8a4db3a62eb1?utm_source=website_events&utm_medium=event_page&utm_campaign
553+
=cypressconf2026&utm_term=01-22-2026&utm_content=cypressconf?utm_source=te
554+
stingconferences
555555
DESCRIPTION:Dates: October 20-22\, 2026\nStatus: Registration is Open and F
556-
ree\nURL: https://cypress.registration.goldcast.io/events/670deb6c-06ee-4ce
557-
8-858b-8a4db3a62eb1?utm_source=website_events&utm_medium=event_page&utm_cam
558-
paign=cypressconf2026&utm_term=01-22-2026&utm_content=cypressconf?utm_sourc
559-
e=testingconferences
556+
ree\nURL: https://cypress.registration.goldcast.io/events/670deb6c-06ee-4c
557+
e8-858b-8a4db3a62eb1?utm_source=website_events&utm_medium=event_page&utm_c
558+
ampaign=cypressconf2026&utm_term=01-22-2026&utm_content=cypressconf?utm_so
559+
urce=testingconferences
560560
END:VEVENT
561561
BEGIN:VEVENT
562562
UID:a1d8d162434b644f34684e7ea15d150eba5812fa@testingconferences.org
@@ -567,8 +567,8 @@ SUMMARY:QA:Challenge Accepted 2026
567567
LOCATION:Sofia\, Bulgaria
568568
URL:https://qachallengeaccepted.com?utm_source=testingconferences
569569
DESCRIPTION:Dates: October 24\, 2026\nStatus: Super Early Bird Registration
570-
is Open | CFP is Open until May 1\, 2026\nURL: https://qachallengeaccepted
571-
.com?utm_source=testingconferences
570+
is Open | CFP is Open until May 1\, 2026\nURL: https://qachallengeaccepte
571+
d.com?utm_source=testingconferences
572572
END:VEVENT
573573
BEGIN:VEVENT
574574
UID:dfc5a9e4900a751ee8ce9b74d21c9a11d6171db6@testingconferences.org
@@ -591,8 +591,8 @@ LOCATION:Antwerpen\, Belgium
591591
URL:https://automation.eurostarsoftwaretesting.com/?utm_source=testingconfe
592592
rences
593593
DESCRIPTION:Dates: November 4-5\, 2026\nStatus: Super Early Bird Registrati
594-
on is Open\nURL: https://automation.eurostarsoftwaretesting.com/?utm_source
595-
=testingconferences
594+
on is Open\nURL: https://automation.eurostarsoftwaretesting.com/?utm_sourc
595+
e=testingconferences
596596
END:VEVENT
597597
BEGIN:VEVENT
598598
UID:bd761d740d652933b5fe677761a79a2d45adfb9a@testingconferences.org
@@ -625,8 +625,8 @@ SUMMARY:Tokyo Test Fest
625625
LOCATION:Tokyo\, Japan
626626
URL:https://tokyotestfest.com/en/?utm_source=testingconferences
627627
DESCRIPTION:Dates: November 12-13\, 2026\nStatus: Registration is Open | CF
628-
P is Open until April 10\, 2026\nURL: https://tokyotestfest.com/en/?utm_sou
629-
rce=testingconferences
628+
P is Open until April 10\, 2026\nURL: https://tokyotestfest.com/en/?utm_so
629+
urce=testingconferences
630630
END:VEVENT
631631
BEGIN:VEVENT
632632
UID:6044ab8b1e5366013327227438394b8aeb569847@testingconferences.org
@@ -648,7 +648,7 @@ SUMMARY:Testing United
648648
LOCATION:Copenhagen\, Denmark
649649
URL:https://www.testingunited.com/?utm_source=testingconferences
650650
DESCRIPTION:Dates: November 23-24\, 2026\nStatus: Super Early Bird Tickets
651-
are now available\nURL: https://www.testingunited.com/?utm_source=testingco
652-
nferences
651+
are now available\nURL: https://www.testingunited.com/?utm_source=testingc
652+
onferences
653653
END:VEVENT
654654
END:VCALENDAR

tools/generate_calendar_ics.rb

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,18 @@ def fold_ical_line(line, limit = 75)
9292
bytes = line.dup
9393
result = +''
9494

95-
while bytes.bytesize > limit
96-
result << bytes.byteslice(0, limit) << "\r\n "
97-
bytes = bytes.byteslice(limit..)
95+
return bytes if bytes.bytesize <= limit
96+
97+
result << bytes.byteslice(0, limit)
98+
bytes = bytes.byteslice(limit..)
99+
100+
continuation_limit = limit - 1
101+
while bytes.bytesize > continuation_limit
102+
result << "\r\n " << bytes.byteslice(0, continuation_limit)
103+
bytes = bytes.byteslice(continuation_limit..)
98104
end
99105

100-
result << bytes.to_s
106+
result << "\r\n " << bytes.to_s
101107
result
102108
end
103109

0 commit comments

Comments
 (0)