Subject: bug#50749: 28.0.50; three gnus-icalendar issues w.r.t. RFC5546 and party crashers

From: Alexandre Duret-Lutz <[email-masked]>
Date: Fri, 01 Oct 2021 17:39:47 +0200

Lars Ingebrigtsen <[email-masked]> writes:
> I forgot to check whether there were any test regressions.

Sorry, I should have known better a looked for that.

> gnus-icalendar-parse fails, but the following change makes it pass.
>
> I'm not very familiar with this code -- was this change intended?
>
> diff --git a/test/lisp/gnus/gnus-icalendar-tests.el b/test/lisp/gnus/gnus-icalendar-tests.el
> index 90c3a34a5c..61fe9701fe 100644
> --- a/test/lisp/gnus/gnus-icalendar-tests.el
> +++ b/test/lisp/gnus/gnus-icalendar-tests.el
> @@ -103,7 +103,7 @@ gnus-icalendar-parse
>                        (should (string= (format-time-string "%Y-%m-%d %H:%M" end-time) "2020-12-08 16:00"))
>                        (should (string= uid "[email-masked]"))
>                        (should (not rsvp))
> -                      (should (eq participation-type 'non-participant))))
> +                      (should (eq participation-type 'required))))
>        (setenv "TZ" tz))))

Reading the test case, it looks like an event that does not list any
attendee.  So I'd expect 'non-participant.

Looks my third patch is wrong then.

In 

    (let* (...
           (role (or (plist-get (cadr attendee) 'ROLE) "REQ-PARTICIPANT"))

I meant to set REQ-PARTICIPANT only when the attendee list is non-empty
but the 'ROLE property is not found (= I have been listed as an attendee
of the event without being given a role).  But the above code will set
REQ-PARTICIPANT even if attendee is empty (= I'm not listed, as in the
test case).

Let me learn from my mistake and see if I can find how to run these tests
and add a test case for for what I intended to fix.