value-dt-test-YYYY-MM-DD--HHpm: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(insert leading 0 to make this a proper HHpm to EEpm test)
(Corrected assert value error)
 
(2 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--HHpm</span> 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. "pm":</span>
* YYYY-MM-DD
* YYYY-MM-DD
* Hpm
* HHpm  
* HHpm  
in an <span class="format">[[hCalendar]]</span> event.
in an <span class="format">[[hCalendar]]</span> event.


</div> <!-- summary -->
 


== markup pattern ==
== markup pattern ==
Line 22: Line 22:
  <span class="value">YYYY-MM-DD</span>  
  <span class="value">YYYY-MM-DD</span>  
  at
  at
  <span class="value">HHpm</span>
  <span class="value">Hpm</span>
</span>
to
<span class="dtend">
<span class="value">YYYY-MM-DD</span>
at
<span class="value">EEpm</span>
</span>
</span>
</source>
</source>
Line 28: Line 34:
Similarly with <code>dtend</code>.
Similarly with <code>dtend</code>.


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


== test ==
== test ==
Line 35: Line 41:
<div class="vevent">
<div class="vevent">
;When
;When
:<span class="dtstart"><span class="value">2009-06-26</span> at <span class="value">07pm</span></span> to <span class="dtend"><span class="value">2009-06-26</span> at <span class="value">10pm</span></span>
:<span class="dtstart"><span class="value">2009-06-26</span> at <span class="value">7pm</span></span> to <span class="dtend"><span class="value">2009-06-26</span> at <span class="value">10pm</span></span>
;Where
;Where
:<span class="location vcard"><span class="fn org">[http://www.yelp.com/biz/b-restaurant-and-bar-san-francisco B Restaurant and Bar]</span>, <span class="adr"><span class="street-address">720 Howard Street</span>, <span class="extended-address">Yerba Buena Upper Terrace</span>, <span class="locality">San Francisco</span>, <span class="region">CA</span> <span class="postal-code">94103</span> <span class="country-name">USA</span></span></span>
:<span class="location vcard"><span class="fn org">[http://www.yelp.com/biz/b-restaurant-and-bar-san-francisco B Restaurant and Bar]</span>, <span class="adr"><span class="street-address">720 Howard Street</span>, <span class="extended-address">Yerba Buena Upper Terrace</span>, <span class="locality">San Francisco</span>, <span class="region">CA</span> <span class="postal-code">94103</span> <span class="country-name">USA</span></span></span>
Line 82: Line 88:
DTEND:20090626T220000
DTEND:20090626T220000
</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-06-26T19")</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-06-26T22")</td>
            <td class="comment">With the value class pattern the results should contain a time</td>
        </tr>
</table>


== results ==
== results ==

Latest revision as of 17:56, 4 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--HHpm 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. "pm":

  • YYYY-MM-DD
  • Hpm
  • HHpm

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> 
 at
 <span class="value">Hpm</span>
</span>
to
<span class="dtend">
 <span class="value">YYYY-MM-DD</span> 
 at
 <span class="value">EEpm</span>
</span>

Similarly with dtend.


test

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

When
2009-06-26 at 7pm to 2009-06-26 at 10pm
Where
B Restaurant and Bar, 720 Howard Street, Yerba Buena Upper Terrace, San Francisco, CA 94103 USA
What
microformats.org 4th birthday party!
Web
http://microformats.org/wiki/events/2009-06-26-microformats-4th-bday
http://upcoming.yahoo.com/event/3010807
Donation
Donation requested at the door: sliding scale $5-$20.

expected iCalendar output

Here is the expected iCalendar output, omitting optional "X-" properties, and implementation specific "PRODID" property:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
CALSCALE:GREGORIAN
BEGIN:VEVENT
LOCATION;LANGUAGE=en;CHARSET=utf-8:B Restaurant and Bar\, 720 Howard Street\, Yerba Buena Upper Terrace\, San Francisco\, CA 94103 USA
SUMMARY;LANGUAGE=en;CHARSET=utf-8:microformats.org 4th birthday party!
URL:http://microformats.org/wiki/events/2009-06-26-microformats-4th-bday
DTSTART;VALUE=DATE-TIME:20090626T190000
DTEND;VALUE=DATE-TIME:20090626T220000
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:20090626T190000
DTEND;VALUE=DATE-TIME:20090626T220000

Acceptable variant:

DTSTART:20090626T190000
DTEND:20090626T220000

Asserts

A set of programming tests for xUnit testing frameworks
Test Result Comment
vevent[0].dtstart IsEqualToISODate("2009-06-26T19") With the value class pattern the results should contain a time
vevent[0].dtend IsEqualToISODate("2009-06-26T22") 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-MM.

see also