value-dt-test-YYYY-MM-DD--HH-MM-XX-YY--EE-NN-UU--XXYY: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(drafted)
 
m (Corrected asserts values)
 
(3 intermediate revisions by 2 users not shown)
Line 5: Line 5:
:<span class="author vcard"><span class="fn">[[User:Tantek|Tantek Çelik]]</span></span>
:<span class="author vcard"><span class="fn">[[User:Tantek|Tantek Çelik]]</span></span>


<div class="description">
 
<div class="summary">
== testing ==
== testing ==
[[value-class-pattern]] date and time parsing:
<span class="description">The <span class="summary">value-dt-test-YYYY-MM-DD--HH-MM-XX-YY--EE-NN-UU--XXYY</span> test demonstrate the concatenation of two html elements to create one datetime value which contains a timezone offset. The date for dtend is implied from the dtstart date:</span>
* YYYY-MM-DD
* YYYY-MM-DD
* HH:MM-XX:YY
* HH:MM-XX:YY
Line 15: Line 14:
* hCalendar dtend implied date
* hCalendar dtend implied date
in an <span class="format">[[hCalendar]]</span> event.
in an <span class="format">[[hCalendar]]</span> event.
</div> <!-- summary -->


== markup pattern ==
== markup pattern ==
Line 33: Line 30:
</source>
</source>


</div> <!-- description -->
 


== test ==
== test ==
Line 44: Line 41:
:<span class="location vcard"><span class="org fn">Automattic</span>, <span class="adr"><span class="street-address"><em style="border-bottom:dotted 1px" title="Pier 38 is NOWHERE NEAR Pier 39, just to be clear. Pier 38 is SOUTH of the Bay Bridge.">Pier 38</em>, The Embarcadero between Brannan and Townsend</span>, <span class="locality">San Francisco</span>, <span class="region">CA</span>, <span class="postal-code">94107</span></span>. <span style="display:block" class="geo">[http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&view=map&q=%2BAutomattic,+The+Embarcadero,+San+Francisco,+CA+94107&sll=37.752736,-122.402826&sspn=0.13844,0.217667&gl=us&ie=UTF8&t=h&layer=c&cbll=37.782877,-122.388062&panoid=kB1DhzPP5DYl5pgHBRxdPg&cbp=12,123.84,,0,2.44&ll=37.783053,-122.388044&spn=0,359.996599&z=18 View location at latitude:<span class="latitude">37.782769</span>, longitude:<span class="longitude">-122.387837</span>]</span></span>
:<span class="location vcard"><span class="org fn">Automattic</span>, <span class="adr"><span class="street-address"><em style="border-bottom:dotted 1px" title="Pier 38 is NOWHERE NEAR Pier 39, just to be clear. Pier 38 is SOUTH of the Bay Bridge.">Pier 38</em>, The Embarcadero between Brannan and Townsend</span>, <span class="locality">San Francisco</span>, <span class="region">CA</span>, <span class="postal-code">94107</span></span>. <span style="display:block" class="geo">[http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&view=map&q=%2BAutomattic,+The+Embarcadero,+San+Francisco,+CA+94107&sll=37.752736,-122.402826&sspn=0.13844,0.217667&gl=us&ie=UTF8&t=h&layer=c&cbll=37.782877,-122.388062&panoid=kB1DhzPP5DYl5pgHBRxdPg&cbp=12,123.84,,0,2.44&ll=37.783053,-122.388044&spn=0,359.996599&z=18 View location at latitude:<span class="latitude">37.782769</span>, longitude:<span class="longitude">-122.387837</span>]</span></span>
;What
;What
:<span class="summary">volunteer prep and breakfast setup for day two of microformatsDevCamp</span> ;URLs
:<span class="summary">volunteer prep and breakfast setup for day two of microformatsDevCamp</span>
;URLs
:<span class="url">http://microformats.org/wiki/events/2009-07-25-dev-camp</span>
:<span class="url">http://microformats.org/wiki/events/2009-07-25-dev-camp</span>
:<span class="url">http://upcoming.yahoo.com/event/2888376/</span>
:<span class="url">http://upcoming.yahoo.com/event/2888376/</span>
Line 85: Line 83:
DTEND:20090726T171819Z
DTEND:20090726T171819Z
</source>
</source>
== Asserts ==
<table cellpadding="0" cellspacing="0" summary="Testing framework assertions used to test the parsed data against the expected data.">
  <caption>A set of programming tests for xUnit testing frameworks</caption> 
        <tr>
            <th>Test</th>
            <th>Result</th>
            <th>Comment</th>
        </tr>
        <tr class="assert">
            <td class="test">vevent[0].dtstart</td>
            <td class="result">IsEqualToISODate("2009-07-26T10:04-06:00")</td>
            <td class="comment">With the value class pattern the results should contain a time</td>
        </tr>       
        <tr class="assert">
            <td class="test">vevent[0].dtend</td>
            <td class="result">IsEqualToISODate("2009-07-26T11:18:19-06:00")</td>
            <td class="comment">With the value class pattern the results should contain a time</td>
        </tr>
</table>


== results ==
== results ==

Latest revision as of 14:59, 5 November 2009

One of several value class pattern date and time value test cases. Marked up with the test-fixture poshformat.

author
Tantek Çelik


testing

The value-dt-test-YYYY-MM-DD--HH-MM-XX-YY--EE-NN-UU--XXYY test demonstrate the concatenation of two html elements to create one datetime value which contains a timezone offset. The date for dtend is implied from the dtstart date:

  • YYYY-MM-DD
  • HH:MM-XX:YY
  • HH:MM:SS
  • -XXYY
  • hCalendar dtend implied date

in an hCalendar event.

markup pattern

Here is the markup pattern fragment (escaped, and with abstract not real values) that is being tested:

<span class="dtstart">
 <span class="value">YYYY-MM-DD</span> from
 <span class="value">HH:MM-XX:YY</span>
</span>
to
<span class="dtend">
 <span class="value">EE:NN:UU</span> offset
 <span class="value">-XXYY</span> from UTC.
</span>


test

hCalendar test in actual markup on the page (view or edit source to see actual hCalendar markup)

When
2009-07-26 from 10:04-06:00 to 11:18:19 offset -0600 from UTC.
Where
Automattic, Pier 38, The Embarcadero between Brannan and Townsend, San Francisco, CA, 94107. View location at latitude:37.782769, longitude:-122.387837
What
volunteer prep and breakfast setup for day two of microformatsDevCamp
URLs
http://microformats.org/wiki/events/2009-07-25-dev-camp
http://upcoming.yahoo.com/event/2888376/

expected iCalendar output

Here is the expected iCalendar output. Note that properties may appear in a different order inside the BEGIN:VEVENT END:VEVENT block, and optional "X-" properties, implementation specific "PRODID" property, and "CHARSET" parameter have been omitted (and thus implementation may include those and still pass this test):

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
CALSCALE:GREGORIAN
BEGIN:VEVENT
LOCATION;LANGUAGE=en:Automattic\, Pier 38\, The Embarcadero between Brannan and Townsend\, San Francisco\, CA\, 94107. View location at latitude:37.782769\, longitude:-122.387837
SUMMARY;LANGUAGE=en:day two of microformatsDevCamp!
URL:http://microformats.org/wiki/events/2009-07-25-dev-camp
DTSTART;VALUE=DATE-TIME:20090726T160400Z
DTEND;VALUE=DATE-TIME:20090726T171819Z
GEO:37.782769;-122.387837
END:VEVENT
END:VCALENDAR

The key lines that an hCalendar to iCalendar converter must match in order to pass this test:

DTSTART;VALUE=DATE-TIME:20090726T160400Z
DTEND;VALUE=DATE-TIME:20090726T171819Z

Acceptable variant:

DTSTART:20090726T160400Z
DTEND:20090726T171819Z

Asserts

A set of programming tests for xUnit testing frameworks
Test Result Comment
vevent[0].dtstart IsEqualToISODate("2009-07-26T10:04-06:00") With the value class pattern the results should contain a time
vevent[0].dtend IsEqualToISODate("2009-07-26T11:18:19-06:00") With the value class pattern the results should contain a time

results

derivation

This test was derived from value-dt-test-YYYY-MM-DD--HH-MMZ-EE-NN-UUZ.

see also