value-dt-test-YYYY-MM-DD--H-MMam-Epm: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(sp)
(additional test case with leading space before a capitalized AM/PM.)
Line 10: Line 10:
* YYYY-MM-DD
* YYYY-MM-DD
* H:MMam
* H:MMam
* Hpm
* Epm
* hCalendar dtend implied date
* hCalendar dtend implied date
* H:MM AM
* E PM
in an <span class="format">[[hCalendar]]</span> event.
in an <span class="format">[[hCalendar]]</span> event.


Line 28: Line 30:
<span class="dtend">
<span class="dtend">
  <span class="value">Epm</span>
  <span class="value">Epm</span>
</span>
</source>
and with a space before a capitalized AM/PM:
<source lang=html4strict>
<span class="dtstart">
<span class="value">YYYY-MM-DD</span>
from
<span class="value">H:MM AM</span>
</span>
to
<span class="dtend">
<span class="value">E PM</span>
</span>
</span>
</source>
</source>
Line 37: Line 53:
<div class="vevent">
<div class="vevent">
;When
;When
:<span class="dtstart"><span class="value">2009-07-26</span> from <span class="value">9:30 am</span></span> to <span class="dtend"><span class="value">6pm</span></span>
:<span class="dtstart"><span class="value">2009-07-26</span> from <span class="value">9:30am</span></span> to <span class="dtend"><span class="value">6pm</span></span>
;Where
;Where
:<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>
Line 47: Line 63:
;How much
;How much
:$20 suggested donation (gets you a t-shirt in the mail). <em style="display:block">No one turned away for lack of funds.</em>
:$20 suggested donation (gets you a t-shirt in the mail). <em style="display:block">No one turned away for lack of funds.</em>
</div> <!-- end vevent -->
</div> <!-- end test -->
<div class="test" id="uf1">
<div class="vevent">
;When
:<span class="dtstart"><span class="value">2009-07-26</span> from <span class="value">8:30 AM</span></span> to <span class="dtend"><span class="value">7 PM</span></span>
;Where
:<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
:<span class="summary">organizers day two of microformatsDevCamp!</span> <span class="description">The first ever microformatsDevCamp, for authors, designers, publishers, developers, engineers building pages, sites, and tools with microformats.</span>
;URLs
:no URL
</div> <!-- end vevent -->
</div> <!-- end vevent -->
</div> <!-- end test -->
</div> <!-- end test -->
Line 68: Line 98:
GEO:37.782769;-122.387837
GEO:37.782769;-122.387837
END:VEVENT
END:VEVENT
BEGIN:VEVENT
DESCRIPTION;LANGUAGE=en:The first ever microformatsDevCamp\, for authors\, designers\, publishers\, developers\, engineers building pages\, sites\, and tools with microformats.
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:organizers day two of microformatsDevCamp!
DTSTART;VALUE=DATE-TIME:20090726T083000
DTEND;VALUE=DATE-TIME:20090726T190000
GEO:37.782769;-122.387837
END:VEVENT
END:VCALENDAR
END:VCALENDAR
</source>
</source>
Line 78: Line 118:
DTSTART;VALUE=DATE-TIME:20090726T093000
DTSTART;VALUE=DATE-TIME:20090726T093000
DTEND;VALUE=DATE-TIME:20090726T180000
DTEND;VALUE=DATE-TIME:20090726T180000
</source>
and
<source lang=text>
DTSTART;VALUE=DATE-TIME:20090726T083000
DTEND;VALUE=DATE-TIME:20090726T190000
</source>
</source>


Line 85: Line 132:
DTSTART:20090726T093000
DTSTART:20090726T093000
DTEND:20090726T180000
DTEND:20090726T180000
</source>
and
<source lang=text>
DTSTART:20090726T083000
DTEND:20090726T190000
</source>
</source>


Line 104: Line 158:
             <td class="test">vevent[0].dtend</td>
             <td class="test">vevent[0].dtend</td>
             <td class="result">IsEqualToISODate("2009-07-26T18")</td>
             <td class="result">IsEqualToISODate("2009-07-26T18")</td>
            <td class="comment">With the value class pattern the results should contain a time</td>
        </tr>
        <tr class="assert">
            <td class="test">vevent[1].dtstart</td>
            <td class="result">IsEqualToISODate("2009-07-26T08:30")</td>
            <td class="comment">With the value class pattern the results should contain a time</td>
        </tr>       
        <tr class="assert">
            <td class="test">vevent[1].dtend</td>
            <td class="result">IsEqualToISODate("2009-07-26T19")</td>
             <td class="comment">With the value class pattern the results should contain a time</td>
             <td class="comment">With the value class pattern the results should contain a time</td>
         </tr>
         </tr>
Line 112: Line 176:
</div><!--history -->
</div><!--history -->
</div> <!-- test-fixture -->
</div> <!-- test-fixture -->
== history ==
* 2012-01-04 additional test case with leading space before a capitalized AM/PM.


== derivation ==
== derivation ==

Revision as of 00:57, 5 January 2012

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--H-MMam-Epm test demonstrate the concatenation of two html elements to create one datetime value. The time element contains text demarking the use of 12 hour clock i.e. "am and pm". The date for dtend is implied from the dtstart date:

  • YYYY-MM-DD
  • H:MMam
  • Epm
  • hCalendar dtend implied date
  • H:MM AM
  • E PM

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">H:MMam</span>
</span>
to
<span class="dtend">
 <span class="value">Epm</span>
</span>

and with a space before a capitalized AM/PM:

<span class="dtstart">
 <span class="value">YYYY-MM-DD</span> 
 from
 <span class="value">H:MM AM</span>
</span>
to
<span class="dtend">
 <span class="value">E PM</span>
</span>


test

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

When
2009-07-26 from 9:30am to 6pm
Where
Automattic, Pier 38, The Embarcadero between Brannan and Townsend, San Francisco, CA, 94107. View location at latitude:37.782769, longitude:-122.387837
What
day two of microformatsDevCamp! The first ever microformatsDevCamp, for authors, designers, publishers, developers, engineers building pages, sites, and tools with microformats.
URLs
http://microformats.org/wiki/events/2009-07-25-dev-camp
http://upcoming.yahoo.com/event/2888376/
How much
$20 suggested donation (gets you a t-shirt in the mail). No one turned away for lack of funds.


When
2009-07-26 from 8:30 AM to 7 PM
Where
Automattic, Pier 38, The Embarcadero between Brannan and Townsend, San Francisco, CA, 94107. View location at latitude:37.782769, longitude:-122.387837
What
organizers day two of microformatsDevCamp! The first ever microformatsDevCamp, for authors, designers, publishers, developers, engineers building pages, sites, and tools with microformats.
URLs
no URL

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
DESCRIPTION;LANGUAGE=en:The first ever microformatsDevCamp\, for authors\, designers\, publishers\, developers\, engineers building pages\, sites\, and tools with microformats.
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:20090726T093000
DTEND;VALUE=DATE-TIME:20090726T180000
GEO:37.782769;-122.387837
END:VEVENT

BEGIN:VEVENT
DESCRIPTION;LANGUAGE=en:The first ever microformatsDevCamp\, for authors\, designers\, publishers\, developers\, engineers building pages\, sites\, and tools with microformats.
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:organizers day two of microformatsDevCamp!
DTSTART;VALUE=DATE-TIME:20090726T083000
DTEND;VALUE=DATE-TIME:20090726T190000
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:20090726T093000
DTEND;VALUE=DATE-TIME:20090726T180000

and

DTSTART;VALUE=DATE-TIME:20090726T083000
DTEND;VALUE=DATE-TIME:20090726T190000

Acceptable variant:

DTSTART:20090726T093000
DTEND:20090726T180000

and

DTSTART:20090726T083000
DTEND:20090726T190000

Asserts

A set of programming tests for xUnit testing frameworks
Test Result Comment
vevent[0].dtstart IsEqualToISODate("2009-07-26T09:30") With the value class pattern the results should contain a time
vevent[0].dtend IsEqualToISODate("2009-07-26T18") With the value class pattern the results should contain a time
vevent[1].dtstart IsEqualToISODate("2009-07-26T08:30") With the value class pattern the results should contain a time
vevent[1].dtend IsEqualToISODate("2009-07-26T19") With the value class pattern the results should contain a time

results

history

  • 2012-01-04 additional test case with leading space before a capitalized AM/PM.

derivation

This test was derived from value-dt-test-YYYY-MM-DD--Hpm-EEpm and events/2009-07-25-dev-camp.

see also