value-dt-test-YYYY-MM-DD--abbr-HH-MMpm: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(→‎markup pattern: abstract values in pattern)
mNo edit summary
 
(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--abbr-HH-MMpm</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". The date for dtend is implied from the dtstart date:</span>
* YYYY-MM-DD
* YYYY-MM-DD
* H:MMpm in abbr element title attribute, with locale/language-specific contents
* HH:MMpm in abbr element title attribute, with locale/language-specific contents  
* HH:MMpm in abbr element title attribute, with locale/language-specific contents  
* 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 ==
Here is the markup pattern fragment (escaped, and with abstract not real values) that is being tested:
Here is the markup pattern fragment (escaped, extra whitespace, and with abstract not real values) that is being tested:


<source lang=html4strict>
<source lang=html4strict>
Line 23: Line 23:
  <span class="value">YYYY-MM-DD</span>  
  <span class="value">YYYY-MM-DD</span>  
  from
  from
  <abbr class="value" title="HH:MMpm">HH.P</abbr>
  <abbr class="value" title="H:MMpm">H:MM</abbr>
</span>
</span>
to
-
<span class="dtend">
<span class="dtend">
  <abbr class="value" title="EE:NNpm">EE.Q hours after noon</abbr>
  <abbr class="value" title="EE:NNpm">EE:NN in the evening</abbr>
</span>
</span>
</source>
</source>


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


== test ==
== test ==
Line 38: Line 38:
<div class="vevent">
<div class="vevent">
;When
;When
:<span class="dtstart"><span class="value">2009-06-26</span> from <abbr class="value" title="10:30pm">10.5</abbr></span> to <span class="dtend"><abbr class="value" title="11:12pm">11.2 hours after noon</abbr></span>
:<span class="dtstart"><span class="value">2009-06-26</span> from <abbr class="value" title="7:30pm">7:30</abbr></span>-<span class="dtend"><abbr class="value" title="10:15pm">10:15 in the evening</abbr></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>
;What
;What
:<span class="summary">pack up and make our way home from the microformats.org 4th birthday party</span>
:<span class="summary">food and drinks served at the microformats.org 4th birthday party</span>
</div> <!-- end vevent -->
</div> <!-- end vevent -->
</div> <!-- end test -->
</div> <!-- end test -->
Line 57: Line 57:
BEGIN:VEVENT
BEGIN:VEVENT
LOCATION;LANGUAGE=en;CHARSET=utf-8:B Restaurant and Bar\, 720 Howard Street\, Yerba Buena Upper Terrace\, San Francisco\, CA 94103 USA
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!
SUMMARY;LANGUAGE=en;CHARSET=utf-8:food and drinks served at the microformats.org 4th birthday party!
DTSTART;VALUE=DATE-TIME:20090626T223000
DTSTART;VALUE=DATE-TIME:20090626T193000
DTEND;VALUE=DATE-TIME:20090626T231200
DTEND;VALUE=DATE-TIME:20090626T221500
END:VEVENT
END:VEVENT
END:VCALENDAR
END:VCALENDAR
Line 69: Line 69:


<source lang=text>
<source lang=text>
DTSTART;VALUE=DATE-TIME:20090626T223000
DTSTART;VALUE=DATE-TIME:20090626T193000
DTEND;VALUE=DATE-TIME:20090626T231200
DTEND;VALUE=DATE-TIME:20090626T221500
</source>
</source>


Line 76: Line 76:


<source lang=text>
<source lang=text>
DTSTART:20090626T223000
DTSTART:20090626T193000
DTEND:20090626T231200
DTEND:20090626T221500
</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: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[0].dtend</td>
            <td class="result">IsEqualToISODate("2009-06-26T22:15")</td>
            <td class="comment">With the value class pattern the results should contain a time</td>
        </tr>
</table>


== results ==
== results ==

Latest revision as of 15:19, 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--abbr-HH-MMpm 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". The date for dtend is implied from the dtstart date:

  • YYYY-MM-DD
  • H:MMpm in abbr element title attribute, with locale/language-specific contents
  • HH:MMpm in abbr element title attribute, with locale/language-specific contents
  • hCalendar dtend implied date

in an hCalendar event.


markup pattern

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

<span class="dtstart">
 <span class="value">YYYY-MM-DD</span> 
 from
 <abbr class="value" title="H:MMpm">H:MM</abbr>
</span>
-
<span class="dtend">
 <abbr class="value" title="EE:NNpm">EE:NN in the evening</abbr>
</span>


test

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

When
2009-06-26 from 7:30-10:15 in the evening
Where
B Restaurant and Bar, 720 Howard Street, Yerba Buena Upper Terrace, San Francisco, CA 94103 USA
What
food and drinks served at the microformats.org 4th birthday party

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:food and drinks served at the microformats.org 4th birthday party!
DTSTART;VALUE=DATE-TIME:20090626T193000
DTEND;VALUE=DATE-TIME:20090626T221500
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:20090626T193000
DTEND;VALUE=DATE-TIME:20090626T221500

Acceptable variant:

DTSTART:20090626T193000
DTEND:20090626T221500

Asserts

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

results

derivation

This test was derived from value-dt-test-YYYY-MM-DD--Hpm-EEpm.

see also