[uf-dev] problems with testcases

Ryan King ryan at technorati.com
Tue Jan 16 15:15:04 PST 2007

On Jan 16, 2007, at 10:16 AM, ☻Mike Samuel wrote:

> I've been going over some unittests for extracting ICS from hcalendar
> that Robert Bachmann pointed me at and I ran into a few places where I
> disagree with the expected test results.

Thanks for pointing these out and documenting them. FWIW, lots of the  
hCalendar tests are 'in progress' or in an unknown state. The ones  
that I'm relatively sure of are numbered files (aka '01-component- 

> The tests I was looking at live at
> http://hg.microformats.org/tests? 
> cmd=manifest;manifest=8323e6e893f8f60ded243c97a060f4befd4a2b20;path=/h 
> calendar/
> There seem to be a few problems
> 1) date and date-time properties missing VALUE=DATE and
> VALUE=DATE-TIME.  I believe RFC-2445 only requires it for one of them
> on.  See section 4.2.20.  Many examples in 2445 omit the value but
> that is being addressed in a draft.

We should also look at how common implementations deal with this.

> 2) language omitted for X-WR-CALNAME.  Occurs in 15_calendar_xml_lang
> and others.  The language is added to summary, location, and
> description.  X-WR-CALNAME is an extension property so this isn't
> required, but it is human readable.

Agreed, we should add the language to this.

> 3) calendar-del.ics is missing the location specified in calendar- 
> del.html

Feature, not a bug. This is a somewhat undocumented feature– that  
items inside <del> elements are ignored.

> 4) calendar-fragment is missing a couple events.

Yeah, I'm not sure what's going on there, hence the @TODO note in the  

> 5) use of semicolon to separate value from name instead of colon,
> especially for the ORGANIZER property.  Occurs in
> calendar-threeday-conference and others.

Appears to be a bug.

> 6) missing : after mailto in component-vevent-attendee-value

No, this is correct. mailto links should have the scheme stripped.

> 7) missing categories in component-vevent-del

See above, re: <del>

> 8) unnecessary escaping of ; in content line values.  e.g. description
> in component-vevent-description-value-in-subelements-2.  RFC 2425
> defines a value as
>    valuespec =  text-list
>              / genericurl       ; from section 5 of RFC 1738
>              / date-list
>              / time-list
>              / date-time-list
>              / boolean
>              / integer-list
>              / float-list
>              / iana-valuespec
>   text-list = *TEXT-LIST-CHAR *("," *TEXT-LIST-CHAR)
>   TEXT-LIST-CHAR = "\\" / "\," / "\n"
>                  / <any VALUE-CHAR except , or \ or newline>
>       ; Backslashes, newlines, and commas must be encoded.
>       ; \n or \N can be used to encode a newline.
> which neither requires nor allows escaping of semicolons.

Good point. Brian, why does X2V do the escaping?

> If people agree that these are wrong, I can go ahead and come up  
> with a patch.

I'll gladly accept patches for any of the above that I mentioned were  
wrong. Just send the patches to this list.

> Also, I think a few things are missing
> 1) I see no mention of TZIDs.  This occurs in many tests.  This isn't
> a problem for non-repeating events since the date format allows a
> timezone offset, but for anything with an RRULE, the event needs to
> specify which timezone it repeats in if it might extend past a
> daylight savings time transition.

For the most part, we've avoided dealing with timezone, and stuck  
with offsets. To add TZID to RRULE tests would require deeper changes  
to hCalendar.

> 2) I don't see any tests covering hcards, geos, or addr being used for
> locations or attendees.  Is that not something I should be testing
> for?

Yeah, we haven't gotten there yet. Patches accepted.

Ryan King
ryan at technorati.com

More information about the microformats-dev mailing list