microformats2 2.9.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +125 -25
  3. data/Rakefile +0 -60
  4. data/lib/microformats2.rb +7 -15
  5. data/lib/microformats2/absolute_uri.rb +5 -1
  6. data/lib/microformats2/format_parser.rb +321 -46
  7. data/lib/microformats2/parser.rb +86 -6
  8. data/lib/microformats2/parser_core.rb +343 -0
  9. data/lib/microformats2/property_parser.rb +104 -34
  10. data/lib/microformats2/results/collection.rb +121 -0
  11. data/lib/microformats2/results/parser_result.rb +111 -0
  12. data/lib/microformats2/results/property_set.rb +87 -0
  13. data/lib/microformats2/time_property_parser.rb +161 -0
  14. data/lib/microformats2/version.rb +1 -1
  15. data/microformats2.gemspec +2 -1
  16. data/spec/lib/microformats2/absolute_uri_spec.rb +2 -2
  17. data/spec/lib/microformats2/parser_spec.rb +36 -5
  18. data/spec/lib/microformats2_spec.rb +5 -5
  19. data/spec/spec_helper.rb +0 -1
  20. data/vendor/tests/.gitignore +25 -0
  21. data/vendor/tests/LICENSE.md +36 -0
  22. data/vendor/tests/README.md +48 -0
  23. data/vendor/tests/app.js +84 -0
  24. data/vendor/tests/composer.json +5 -0
  25. data/vendor/tests/css/testsuite.css +159 -0
  26. data/vendor/tests/interface.js +18 -0
  27. data/vendor/tests/package.json +27 -0
  28. data/vendor/tests/tests/microformats-mixed/h-card/change-log.html +63 -0
  29. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.html +14 -0
  30. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.json +22 -0
  31. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.html +1 -0
  32. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.json +10 -0
  33. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.html +16 -0
  34. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.json +38 -0
  35. data/vendor/tests/tests/microformats-mixed/h-resume/change-log.html +68 -0
  36. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.html +16 -0
  37. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.json +31 -0
  38. data/vendor/tests/tests/microformats-v1/adr/change-log.html +63 -0
  39. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.html +8 -0
  40. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.json +15 -0
  41. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.html +5 -0
  42. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.json +11 -0
  43. data/vendor/tests/tests/microformats-v1/geo/change-log.1.html +78 -0
  44. data/vendor/tests/tests/microformats-v1/geo/change-log.html +63 -0
  45. data/vendor/tests/tests/microformats-v1/geo/hidden.html +10 -0
  46. data/vendor/tests/tests/microformats-v1/geo/hidden.json +11 -0
  47. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.html +6 -0
  48. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.json +11 -0
  49. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.html +11 -0
  50. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.json +11 -0
  51. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.html +41 -0
  52. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.json +21 -0
  53. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.html +13 -0
  54. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.json +37 -0
  55. data/vendor/tests/tests/microformats-v1/hcalendar/change-log.html +68 -0
  56. data/vendor/tests/tests/microformats-v1/hcalendar/combining.html +15 -0
  57. data/vendor/tests/tests/microformats-v1/hcalendar/combining.json +31 -0
  58. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.html +7 -0
  59. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.json +12 -0
  60. data/vendor/tests/tests/microformats-v1/hcalendar/time.html +44 -0
  61. data/vendor/tests/tests/microformats-v1/hcalendar/time.json +22 -0
  62. data/vendor/tests/tests/microformats-v1/hcard/change-log.html +68 -0
  63. data/vendor/tests/tests/microformats-v1/hcard/email.html +14 -0
  64. data/vendor/tests/tests/microformats-v1/hcard/email.json +11 -0
  65. data/vendor/tests/tests/microformats-v1/hcard/format.html +6 -0
  66. data/vendor/tests/tests/microformats-v1/hcard/format.json +11 -0
  67. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.html +3 -0
  68. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.json +8 -0
  69. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.html +1 -0
  70. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.json +8 -0
  71. data/vendor/tests/tests/microformats-v1/hcard/justaname.html +1 -0
  72. data/vendor/tests/tests/microformats-v1/hcard/justaname.json +8 -0
  73. data/vendor/tests/tests/microformats-v1/hcard/multiple.html +74 -0
  74. data/vendor/tests/tests/microformats-v1/hcard/multiple.json +65 -0
  75. data/vendor/tests/tests/microformats-v1/hcard/name.html +11 -0
  76. data/vendor/tests/tests/microformats-v1/hcard/name.json +15 -0
  77. data/vendor/tests/tests/microformats-v1/hcard/single.html +14 -0
  78. data/vendor/tests/tests/microformats-v1/hcard/single.json +24 -0
  79. data/vendor/tests/tests/microformats-v1/hentry/change-log.html +73 -0
  80. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.html +20 -0
  81. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.json +24 -0
  82. data/vendor/tests/tests/microformats-v1/hfeed/simple.html +30 -0
  83. data/vendor/tests/tests/microformats-v1/hfeed/simple.json +49 -0
  84. data/vendor/tests/tests/microformats-v1/hnews/all.html +37 -0
  85. data/vendor/tests/tests/microformats-v1/hnews/all.json +74 -0
  86. data/vendor/tests/tests/microformats-v1/hnews/change-log.html +72 -0
  87. data/vendor/tests/tests/microformats-v1/hnews/minimum.html +25 -0
  88. data/vendor/tests/tests/microformats-v1/hnews/minimum.json +48 -0
  89. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.html +26 -0
  90. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.json +52 -0
  91. data/vendor/tests/tests/microformats-v1/hproduct/change-log.html +62 -0
  92. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.html +13 -0
  93. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.json +33 -0
  94. data/vendor/tests/tests/microformats-v1/hresume/affiliation.html +12 -0
  95. data/vendor/tests/tests/microformats-v1/hresume/affiliation.json +25 -0
  96. data/vendor/tests/tests/microformats-v1/hresume/change-log.html +73 -0
  97. data/vendor/tests/tests/microformats-v1/hresume/contact.html +18 -0
  98. data/vendor/tests/tests/microformats-v1/hresume/contact.json +32 -0
  99. data/vendor/tests/tests/microformats-v1/hresume/education.html +13 -0
  100. data/vendor/tests/tests/microformats-v1/hresume/education.json +29 -0
  101. data/vendor/tests/tests/microformats-v1/hresume/skill.html +12 -0
  102. data/vendor/tests/tests/microformats-v1/hresume/skill.json +33 -0
  103. data/vendor/tests/tests/microformats-v1/hresume/work.html +16 -0
  104. data/vendor/tests/tests/microformats-v1/hresume/work.json +30 -0
  105. data/vendor/tests/tests/microformats-v1/hreview-aggregate/change-log.html +67 -0
  106. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.html +18 -0
  107. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.json +31 -0
  108. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.html +6 -0
  109. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.json +19 -0
  110. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.html +13 -0
  111. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.json +22 -0
  112. data/vendor/tests/tests/microformats-v1/hreview/change-log.html +73 -0
  113. data/vendor/tests/tests/microformats-v1/hreview/item.html +8 -0
  114. data/vendor/tests/tests/microformats-v1/hreview/item.json +19 -0
  115. data/vendor/tests/tests/microformats-v1/hreview/vcard.html +23 -0
  116. data/vendor/tests/tests/microformats-v1/hreview/vcard.json +58 -0
  117. data/vendor/tests/tests/microformats-v1/includes/change-log.html +72 -0
  118. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.html +16 -0
  119. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.json +49 -0
  120. data/vendor/tests/tests/microformats-v1/includes/heventitemref.html +25 -0
  121. data/vendor/tests/tests/microformats-v1/includes/heventitemref.json +33 -0
  122. data/vendor/tests/tests/microformats-v1/includes/hyperlink.html +18 -0
  123. data/vendor/tests/tests/microformats-v1/includes/hyperlink.json +43 -0
  124. data/vendor/tests/tests/microformats-v1/includes/object.html +23 -0
  125. data/vendor/tests/tests/microformats-v1/includes/object.json +42 -0
  126. data/vendor/tests/tests/microformats-v1/includes/table.html +12 -0
  127. data/vendor/tests/tests/microformats-v1/includes/table.json +19 -0
  128. data/vendor/tests/tests/microformats-v2/h-adr/change-log.html +62 -0
  129. data/vendor/tests/tests/microformats-v2/h-adr/geo.html +10 -0
  130. data/vendor/tests/tests/microformats-v2/h-adr/geo.json +16 -0
  131. data/vendor/tests/tests/microformats-v2/h-adr/geourl.html +4 -0
  132. data/vendor/tests/tests/microformats-v2/h-adr/geourl.json +13 -0
  133. data/vendor/tests/tests/microformats-v2/h-adr/justaname.html +1 -0
  134. data/vendor/tests/tests/microformats-v2/h-adr/justaname.json +10 -0
  135. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.html +21 -0
  136. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.json +12 -0
  137. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.html +8 -0
  138. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.json +16 -0
  139. data/vendor/tests/tests/microformats-v2/h-as-note/note.html +56 -0
  140. data/vendor/tests/tests/microformats-v2/h-as-note/note.json +98 -0
  141. data/vendor/tests/tests/microformats-v2/h-card/baseurl.html +6 -0
  142. data/vendor/tests/tests/microformats-v2/h-card/baseurl.json +26 -0
  143. data/vendor/tests/tests/microformats-v2/h-card/change-log.html +100 -0
  144. data/vendor/tests/tests/microformats-v2/h-card/childimplied.html +7 -0
  145. data/vendor/tests/tests/microformats-v2/h-card/childimplied.json +12 -0
  146. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.html +10 -0
  147. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.json +15 -0
  148. data/vendor/tests/tests/microformats-v2/h-card/hcard.html +4 -0
  149. data/vendor/tests/tests/microformats-v2/h-card/hcard.json +19 -0
  150. data/vendor/tests/tests/microformats-v2/h-card/horghcard.html +4 -0
  151. data/vendor/tests/tests/microformats-v2/h-card/horghcard.json +19 -0
  152. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.html +3 -0
  153. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.json +12 -0
  154. data/vendor/tests/tests/microformats-v2/h-card/impliedname.html +15 -0
  155. data/vendor/tests/tests/microformats-v2/h-card/impliedname.json +90 -0
  156. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.html +11 -0
  157. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.json +72 -0
  158. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.html +5 -0
  159. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.json +45 -0
  160. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.html +1 -0
  161. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.json +11 -0
  162. data/vendor/tests/tests/microformats-v2/h-card/justaname.html +1 -0
  163. data/vendor/tests/tests/microformats-v2/h-card/justaname.json +10 -0
  164. data/vendor/tests/tests/microformats-v2/h-card/nested.html +4 -0
  165. data/vendor/tests/tests/microformats-v2/h-card/nested.json +18 -0
  166. data/vendor/tests/tests/microformats-v2/h-card/p-property.html +21 -0
  167. data/vendor/tests/tests/microformats-v2/h-card/p-property.json +15 -0
  168. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.html +6 -0
  169. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.json +29 -0
  170. data/vendor/tests/tests/microformats-v2/h-entry/change-log.html +90 -0
  171. data/vendor/tests/tests/microformats-v2/h-entry/encoding.html +3 -0
  172. data/vendor/tests/tests/microformats-v2/h-entry/encoding.json +14 -0
  173. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.html +9 -0
  174. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.json +27 -0
  175. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.html +1 -0
  176. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.json +11 -0
  177. data/vendor/tests/tests/microformats-v2/h-entry/justaname.html +1 -0
  178. data/vendor/tests/tests/microformats-v2/h-entry/justaname.json +10 -0
  179. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.html +4 -0
  180. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.json +14 -0
  181. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.html +20 -0
  182. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.json +25 -0
  183. data/vendor/tests/tests/microformats-v2/h-entry/u-property.html +33 -0
  184. data/vendor/tests/tests/microformats-v2/h-entry/u-property.json +12 -0
  185. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.html +13 -0
  186. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.json +14 -0
  187. data/vendor/tests/tests/microformats-v2/h-event/ampm.html +41 -0
  188. data/vendor/tests/tests/microformats-v2/h-event/ampm.json +21 -0
  189. data/vendor/tests/tests/microformats-v2/h-event/attendees.html +13 -0
  190. data/vendor/tests/tests/microformats-v2/h-event/attendees.json +37 -0
  191. data/vendor/tests/tests/microformats-v2/h-event/change-log.html +82 -0
  192. data/vendor/tests/tests/microformats-v2/h-event/combining.html +13 -0
  193. data/vendor/tests/tests/microformats-v2/h-event/combining.json +25 -0
  194. data/vendor/tests/tests/microformats-v2/h-event/concatenate.html +8 -0
  195. data/vendor/tests/tests/microformats-v2/h-event/concatenate.json +12 -0
  196. data/vendor/tests/tests/microformats-v2/h-event/dates.html +13 -0
  197. data/vendor/tests/tests/microformats-v2/h-event/dates.json +26 -0
  198. data/vendor/tests/tests/microformats-v2/h-event/dt-property.html +23 -0
  199. data/vendor/tests/tests/microformats-v2/h-event/dt-property.json +20 -0
  200. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.html +1 -0
  201. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.json +11 -0
  202. data/vendor/tests/tests/microformats-v2/h-event/justaname.html +1 -0
  203. data/vendor/tests/tests/microformats-v2/h-event/justaname.json +10 -0
  204. data/vendor/tests/tests/microformats-v2/h-event/time.html +47 -0
  205. data/vendor/tests/tests/microformats-v2/h-event/time.json +25 -0
  206. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.html +30 -0
  207. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.json +23 -0
  208. data/vendor/tests/tests/microformats-v2/h-feed/simple.html +26 -0
  209. data/vendor/tests/tests/microformats-v2/h-feed/simple.json +33 -0
  210. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.html +5 -0
  211. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.json +12 -0
  212. data/vendor/tests/tests/microformats-v2/h-geo/altitude.html +8 -0
  213. data/vendor/tests/tests/microformats-v2/h-geo/altitude.json +13 -0
  214. data/vendor/tests/tests/microformats-v2/h-geo/change-log.html +67 -0
  215. data/vendor/tests/tests/microformats-v2/h-geo/hidden.html +10 -0
  216. data/vendor/tests/tests/microformats-v2/h-geo/hidden.json +12 -0
  217. data/vendor/tests/tests/microformats-v2/h-geo/justaname.html +3 -0
  218. data/vendor/tests/tests/microformats-v2/h-geo/justaname.json +10 -0
  219. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.html +5 -0
  220. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.json +12 -0
  221. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.html +11 -0
  222. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.json +12 -0
  223. data/vendor/tests/tests/microformats-v2/h-news/all.html +35 -0
  224. data/vendor/tests/tests/microformats-v2/h-news/all.json +51 -0
  225. data/vendor/tests/tests/microformats-v2/h-news/change-log.html +78 -0
  226. data/vendor/tests/tests/microformats-v2/h-news/minimum.html +24 -0
  227. data/vendor/tests/tests/microformats-v2/h-news/minimum.json +40 -0
  228. data/vendor/tests/tests/microformats-v2/h-org/change-log.html +57 -0
  229. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.html +1 -0
  230. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.json +11 -0
  231. data/vendor/tests/tests/microformats-v2/h-org/simple.html +1 -0
  232. data/vendor/tests/tests/microformats-v2/h-org/simple.json +10 -0
  233. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.html +4 -0
  234. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.json +12 -0
  235. data/vendor/tests/tests/microformats-v2/h-product/aggregate.html +21 -0
  236. data/vendor/tests/tests/microformats-v2/h-product/aggregate.json +45 -0
  237. data/vendor/tests/tests/microformats-v2/h-product/change-log.html +62 -0
  238. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.html +1 -0
  239. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.json +11 -0
  240. data/vendor/tests/tests/microformats-v2/h-product/justaname.html +1 -0
  241. data/vendor/tests/tests/microformats-v2/h-product/justaname.json +10 -0
  242. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.html +10 -0
  243. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.json +26 -0
  244. data/vendor/tests/tests/microformats-v2/h-recipe/all.html +63 -0
  245. data/vendor/tests/tests/microformats-v2/h-recipe/all.json +54 -0
  246. data/vendor/tests/tests/microformats-v2/h-recipe/change-log.html +62 -0
  247. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.html +7 -0
  248. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.json +17 -0
  249. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.html +12 -0
  250. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.json +20 -0
  251. data/vendor/tests/tests/microformats-v2/h-resume/change-log.html +78 -0
  252. data/vendor/tests/tests/microformats-v2/h-resume/contact.html +17 -0
  253. data/vendor/tests/tests/microformats-v2/h-resume/contact.json +26 -0
  254. data/vendor/tests/tests/microformats-v2/h-resume/education.html +13 -0
  255. data/vendor/tests/tests/microformats-v2/h-resume/education.json +30 -0
  256. data/vendor/tests/tests/microformats-v2/h-resume/justaname.html +1 -0
  257. data/vendor/tests/tests/microformats-v2/h-resume/justaname.json +10 -0
  258. data/vendor/tests/tests/microformats-v2/h-resume/skill.html +12 -0
  259. data/vendor/tests/tests/microformats-v2/h-resume/skill.json +12 -0
  260. data/vendor/tests/tests/microformats-v2/h-resume/work.html +16 -0
  261. data/vendor/tests/tests/microformats-v2/h-resume/work.json +31 -0
  262. data/vendor/tests/tests/microformats-v2/h-review-aggregate/change-log.html +78 -0
  263. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.html +13 -0
  264. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.json +23 -0
  265. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.html +8 -0
  266. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.json +19 -0
  267. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.html +18 -0
  268. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.json +26 -0
  269. data/vendor/tests/tests/microformats-v2/h-review/change-log.html +84 -0
  270. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.html +1 -0
  271. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.json +11 -0
  272. data/vendor/tests/tests/microformats-v2/h-review/implieditem.html +4 -0
  273. data/vendor/tests/tests/microformats-v2/h-review/implieditem.json +19 -0
  274. data/vendor/tests/tests/microformats-v2/h-review/item.html +8 -0
  275. data/vendor/tests/tests/microformats-v2/h-review/item.json +20 -0
  276. data/vendor/tests/tests/microformats-v2/h-review/justaname.html +1 -0
  277. data/vendor/tests/tests/microformats-v2/h-review/justaname.json +10 -0
  278. data/vendor/tests/tests/microformats-v2/h-review/photo.html +1 -0
  279. data/vendor/tests/tests/microformats-v2/h-review/photo.json +11 -0
  280. data/vendor/tests/tests/microformats-v2/h-review/vcard.html +23 -0
  281. data/vendor/tests/tests/microformats-v2/h-review/vcard.json +48 -0
  282. data/vendor/tests/tests/microformats-v2/rel/change-log.html +67 -0
  283. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.html +10 -0
  284. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.json +75 -0
  285. data/vendor/tests/tests/microformats-v2/rel/license.html +1 -0
  286. data/vendor/tests/tests/microformats-v2/rel/license.json +12 -0
  287. data/vendor/tests/tests/microformats-v2/rel/nofollow.html +1 -0
  288. data/vendor/tests/tests/microformats-v2/rel/nofollow.json +12 -0
  289. data/vendor/tests/tests/microformats-v2/rel/rel-urls.html +8 -0
  290. data/vendor/tests/tests/microformats-v2/rel/rel-urls.json +33 -0
  291. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.html +4 -0
  292. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.json +20 -0
  293. data/vendor/tests/tests/microformats-v2/rel/xfn-all.html +19 -0
  294. data/vendor/tests/tests/microformats-v2/rel/xfn-all.json +92 -0
  295. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.html +10 -0
  296. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.json +40 -0
  297. metadata +285 -37
  298. data/lib/microformats2/collection.rb +0 -136
  299. data/lib/microformats2/format.rb +0 -151
  300. data/lib/microformats2/implied_property/foundation.rb +0 -59
  301. data/lib/microformats2/implied_property/name.rb +0 -34
  302. data/lib/microformats2/implied_property/photo.rb +0 -28
  303. data/lib/microformats2/implied_property/url.rb +0 -24
  304. data/lib/microformats2/property.rb +0 -21
  305. data/lib/microformats2/property/date_time.rb +0 -28
  306. data/lib/microformats2/property/embedded.rb +0 -9
  307. data/lib/microformats2/property/foundation.rb +0 -143
  308. data/lib/microformats2/property/text.rb +0 -16
  309. data/lib/microformats2/property/url.rb +0 -26
  310. data/spec/lib/microformats2/collection_spec.rb +0 -252
  311. data/spec/lib/microformats2/implied_property/name_spec.rb +0 -31
  312. data/spec/lib/microformats2/implied_property/photo_spec.rb +0 -31
  313. data/spec/lib/microformats2/implied_property/url_spec.rb +0 -58
@@ -0,0 +1,13 @@
1
+ <div class="h-review-aggregate">
2
+ <div class="p-item h-event">
3
+ <h3 class="p-name">Fullfrontal</h3>
4
+ <p class="p-description">A one day JavaScript Conference held in Brighton</p>
5
+ <p><time class="dt-start" datetime="2012-11-09">9th November 2012</time></p>
6
+ </div>
7
+
8
+ <p class="p-rating">
9
+ <span class="p-average value">9.9</span> out of
10
+ <span class="p-best">10</span>
11
+ based on <span class="p-count">62</span> reviews
12
+ </p>
13
+ </div>
@@ -0,0 +1,23 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review-aggregate"],
4
+ "properties": {
5
+ "item": [{
6
+ "value": "Fullfrontal",
7
+ "type": ["h-event"],
8
+ "properties": {
9
+ "name": ["Fullfrontal"],
10
+ "description": ["A one day JavaScript Conference held in Brighton"],
11
+ "start": ["2012-11-09"]
12
+ }
13
+ }],
14
+ "rating": ["9.9"],
15
+ "average": ["9.9"],
16
+ "best": ["10"],
17
+ "count": ["62"],
18
+ "name": ["Fullfrontal\n A one day JavaScript Conference held in Brighton\n 9th November 2012 \n \n \n \n 9.9 out of \n 10 \n based on 62 reviews"]
19
+ }
20
+ }],
21
+ "rels": {},
22
+ "rel-urls": {}
23
+ }
@@ -0,0 +1,8 @@
1
+ <div class="h-review-aggregate">
2
+ <h3 class="p-item h-item">Mediterranean Wraps</h3>
3
+ <span class="p-summary">
4
+ Customers flock to this small restaurant for their
5
+ tasty falafel and shawerma wraps and welcoming staff.
6
+ </span>
7
+ <span class="p-rating">4.5</span> out of 5
8
+ </div>
@@ -0,0 +1,19 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review-aggregate"],
4
+ "properties": {
5
+ "item": [{
6
+ "value": "Mediterranean Wraps",
7
+ "type": ["h-item"],
8
+ "properties": {
9
+ "name": ["Mediterranean Wraps"]
10
+ }
11
+ }],
12
+ "summary": ["Customers flock to this small restaurant for their \n tasty falafel and shawerma wraps and welcoming staff."],
13
+ "rating": ["4.5"],
14
+ "name": ["Mediterranean Wraps\n \n Customers flock to this small restaurant for their \n tasty falafel and shawerma wraps and welcoming staff.\n \n 4.5 out of 5"]
15
+ }
16
+ }],
17
+ "rels": {},
18
+ "rel-urls": {}
19
+ }
@@ -0,0 +1,18 @@
1
+ <div class="h-review-aggregate">
2
+ <div class="p-item h-card">
3
+ <h3 class="p-name">Mediterranean Wraps</h3>
4
+ <p>
5
+ <span class="p-street-address">433 S California Ave</span>,
6
+ <span class="p-locality">Palo Alto</span>,
7
+ <span class="p-region">CA</span> -
8
+ <span class="p-tel">(650) 321-8189</span>
9
+ </p>
10
+ </div>
11
+ <span class="p-summary">Customers flock to this small restaurant for their
12
+ tasty falafel and shawerma wraps and welcoming staff.</span>
13
+ <span class="p-rating">
14
+ <span class="p-average value">9.2</span> out of
15
+ <span class="p-best">10</span>
16
+ based on <span class="p-count">17</span> reviews
17
+ </span>
18
+ </div>
@@ -0,0 +1,26 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review-aggregate"],
4
+ "properties": {
5
+ "item": [{
6
+ "value": "Mediterranean Wraps",
7
+ "type": ["h-card"],
8
+ "properties": {
9
+ "name": ["Mediterranean Wraps"],
10
+ "street-address": ["433 S California Ave"],
11
+ "locality": ["Palo Alto"],
12
+ "region": ["CA"],
13
+ "tel": ["(650) 321-8189"]
14
+ }
15
+ }],
16
+ "summary": ["Customers flock to this small restaurant for their \n tasty falafel and shawerma wraps and welcoming staff."],
17
+ "rating": ["9.2"],
18
+ "average": ["9.2"],
19
+ "best": ["10"],
20
+ "count": ["17"],
21
+ "name": ["Mediterranean Wraps\n \n 433 S California Ave, \n Palo Alto, \n CA - \n (650) 321-8189\n \n \n Customers flock to this small restaurant for their \n tasty falafel and shawerma wraps and welcoming staff.\n \n 9.2 out of \n 10 \n based on 17 reviews"]
22
+ }
23
+ }],
24
+ "rels": {},
25
+ "rel-urls": {}
26
+ }
@@ -0,0 +1,84 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>h-review parsing tests</title>
6
+
7
+ <link rel="stylesheet" href="../../../css/testsuite.css">
8
+ <link rel="stylesheet" href="../../../prettify.css">
9
+
10
+ <script src="../../../javascript/prettify.js"></script>
11
+ <script src="../../../javascript/testsuite.js"></script>
12
+
13
+ </head>
14
+ <body class="h-feed">
15
+
16
+ <h1 class="p-name"><span class="p-x-format">h-review</span> parsing tests &dash; change logs</h1>
17
+
18
+ <p class="p-description">The files in this directory where designed to test the parsing of h-review. </p>
19
+
20
+
21
+ <h2>Change log:</h2>
22
+ <ul>
23
+ <!-- Add change log event to the top of this list as a h-entry -->
24
+ <li class="h-entry">
25
+ <span class="p-name e-content">Update text output to be textContent non-trimmed for implieditem, vcard and item tests</span> &dash;
26
+ <time class="dt-published" datetime="2015-05-29">29 May 2015</time>
27
+ by <span class="p-author">Glenn Jones</span>
28
+ </li>
29
+ <li class="h-entry">
30
+ <span class="p-name e-content">Added missing name property to item test.
31
+ Also add two missing properties reviewed and rel=licence to vcard test.
32
+ </span> &dash;
33
+ <time class="dt-published" datetime="2015-05-23">23 May 2015</time>
34
+ by <span class="p-author">Glenn Jones</span>
35
+ </li>
36
+ <li class="h-entry">
37
+ <span class="p-name e-content">Broke old HTML format into small files to aid simpler testing</span> &dash;
38
+ <time class="dt-published" datetime="2015-05-21">21 May 2015</time>
39
+ by <span class="p-author">Glenn Jones</span>
40
+ </li>
41
+ <li class="h-entry">
42
+ <span class="p-name e-content">Updated JSON examples so it always has the rel={} object as well as the items=[] array</span> &dash;
43
+ <time class="dt-published" datetime="2013-11-21">21 November 2013</time>
44
+ by <span class="p-author">Glenn Jones</span>
45
+ </li>
46
+ <li class="h-entry">
47
+ <span class="p-name e-content">Updated encoding issue on e-*</span> &dash;
48
+ <time class="dt-published" datetime="2013-09-19">19 September 2013</time>
49
+ by <span class="p-author">Glenn Jones</span>
50
+ </li>
51
+ <li class="h-entry">
52
+ <span class="p-name e-content">Updated test for h-item</span> &dash;
53
+ <time class="dt-published" datetime="2013-01-21">21 January 2013</time>
54
+ by <span class="p-author">Glenn Jones</span>
55
+ </li>
56
+ <li class="h-entry">
57
+ <span class="p-name e-content">Created</span> &dash;
58
+ <time class="dt-published" datetime="2012-12-29">29 December 2012</time>
59
+ by <span class="p-author">Glenn Jones</span>
60
+ </li>
61
+ <li class="h-entry">
62
+ <span class="p-name e-content">Updated encoding issue on e-*</span> &dash;
63
+ <time class="dt-published" datetime="2013-09-19">19 September 2013</time>
64
+ by <span class="p-author">Glenn Jones</span>
65
+ </li>
66
+ </ul>
67
+
68
+
69
+ <h2>Contributors:</h2>
70
+ <ul>
71
+ <!-- If you Contribute to the test please add yourself as an author using p-author h-card -->
72
+ <li class="p-author h-card">
73
+ <a class="u-url p-name" rel="author" href="http://www.glennjones.net/">Glenn Jones</a>
74
+ </li>
75
+ </ul>
76
+
77
+
78
+ <footer>
79
+ All content and code is released into the <a href="http://en.wikipedia.org/wiki/public_domain">public domain</a>
80
+ </footer>
81
+
82
+ </body>
83
+
84
+ </html>
@@ -0,0 +1 @@
1
+ <a class="h-review" href="https://plus.google.com/116941523817079328322/about">Crepes on Cole</a>
@@ -0,0 +1,11 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review"],
4
+ "properties": {
5
+ "name": ["Crepes on Cole"],
6
+ "url": ["https://plus.google.com/116941523817079328322/about"]
7
+ }
8
+ }],
9
+ "rels": {},
10
+ "rel-urls": {}
11
+ }
@@ -0,0 +1,4 @@
1
+ <div class="h-review">
2
+ <a class="p-item h-item" href="http://example.com/crepeoncole">Crepes on Cole</a>
3
+ <p><span class="p-rating">4.7</span> out of 5 stars</p>
4
+ </div>
@@ -0,0 +1,19 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review"],
4
+ "properties": {
5
+ "item": [{
6
+ "value": "Crepes on Cole",
7
+ "type": ["h-item"],
8
+ "properties": {
9
+ "name": ["Crepes on Cole"],
10
+ "url": ["http://example.com/crepeoncole"]
11
+ }
12
+ }],
13
+ "rating": ["4.7"],
14
+ "name": ["Crepes on Cole\n 4.7 out of 5 stars"]
15
+ }
16
+ }],
17
+ "rels": {},
18
+ "rel-urls": {}
19
+ }
@@ -0,0 +1,8 @@
1
+ <base href="http://example.com" >
2
+ <div class="h-review">
3
+ <p class="p-item h-item">
4
+ <img class="u-photo" src="images/photo.gif" />
5
+ <a class="p-name u-url" href="http://example.com/crepeoncole">Crepes on Cole</a>
6
+ </p>
7
+ <p><span class="p-rating">5</span> out of 5 stars</p>
8
+ </div>
@@ -0,0 +1,20 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review"],
4
+ "properties": {
5
+ "item": [{
6
+ "value": "Crepes on Cole",
7
+ "type": ["h-item"],
8
+ "properties": {
9
+ "photo": ["http://example.com/images/photo.gif"],
10
+ "name": ["Crepes on Cole"],
11
+ "url": ["http://example.com/crepeoncole"]
12
+ }
13
+ }],
14
+ "rating": ["5"],
15
+ "name": ["Crepes on Cole\n \n 5 out of 5 stars"]
16
+ }
17
+ }],
18
+ "rels": {},
19
+ "rel-urls": {}
20
+ }
@@ -0,0 +1 @@
1
+ <p class="h-review">Crepes on Cole</p>
@@ -0,0 +1,10 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review"],
4
+ "properties": {
5
+ "name": ["Crepes on Cole"]
6
+ }
7
+ }],
8
+ "rels": {},
9
+ "rel-urls": {}
10
+ }
@@ -0,0 +1 @@
1
+ <base href="http://example.com" ><img class="h-review" src="images/photo.gif" alt="Crepes on Cole" />
@@ -0,0 +1,11 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review"],
4
+ "properties": {
5
+ "name": ["Crepes on Cole"],
6
+ "photo": ["http://example.com/images/photo.gif"]
7
+ }
8
+ }],
9
+ "rels": {},
10
+ "rel-urls": {}
11
+ }
@@ -0,0 +1,23 @@
1
+ <div class="h-review">
2
+ <span><span class="p-rating">5</span> out of 5 stars</span>
3
+ <h4 class="p-name">Crepes on Cole is awesome</h4>
4
+ <span class="p-reviewer h-card">
5
+ Reviewer: <span class="p-name">Tantek</span> -
6
+ </span>
7
+ <time class="dt-reviewed" datetime="2005-04-18">April 18, 2005</time>
8
+ <div class="e-description">
9
+ <p class="p-item h-card">
10
+ <span class="p-name p-org">Crepes on Cole</span> is one of the best little
11
+ creperies in <span class="p-adr h-adr"><span class="p-locality">San Francisco</span></span>.
12
+ Excellent food and service. Plenty of tables in a variety of sizes
13
+ for parties large and small. Window seating makes for excellent
14
+ people watching to/from the N-Judah which stops right outside.
15
+ I've had many fun social gatherings here, as well as gotten
16
+ plenty of work done thanks to neighborhood WiFi.
17
+ </p>
18
+ </div>
19
+ <p>Visit date: <span>April 2005</span></p>
20
+ <p>Food eaten: <a class="p-category" href="http://en.wikipedia.org/wiki/crepe">crepe</a></p>
21
+ <p>Permanent link for review: <a class="u-url" href="http://example.com/crepe">http://example.com/crepe</a></p>
22
+ <p><a rel="license" href="http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License">Creative Commons Attribution-ShareAlike License</a></p>
23
+ </div>
@@ -0,0 +1,48 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review"],
4
+ "properties": {
5
+ "rating": ["5"],
6
+ "name": ["Crepes on Cole is awesome"],
7
+ "reviewer": [{
8
+ "value": "Tantek",
9
+ "type": ["h-card"],
10
+ "properties": {
11
+ "name": ["Tantek"]
12
+ }
13
+ }],
14
+ "reviewed": ["2005-04-18"],
15
+ "description": [{
16
+ "value": "Crepes on Cole is one of the best little \n creperies in San Francisco.\n Excellent food and service. Plenty of tables in a variety of sizes \n for parties large and small. Window seating makes for excellent \n people watching to/from the N-Judah which stops right outside. \n I've had many fun social gatherings here, as well as gotten \n plenty of work done thanks to neighborhood WiFi.",
17
+ "html": "\n <p class=\"p-item h-card\">\n <span class=\"p-name p-org\">Crepes on Cole</span> is one of the best little \n creperies in <span class=\"p-adr h-adr\"><span class=\"p-locality\">San Francisco</span></span>.\n Excellent food and service. Plenty of tables in a variety of sizes \n for parties large and small. Window seating makes for excellent \n people watching to/from the N-Judah which stops right outside. \n I've had many fun social gatherings here, as well as gotten \n plenty of work done thanks to neighborhood WiFi.\n </p>\n"
18
+ }],
19
+ "item": [{
20
+ "value": "Crepes on Cole",
21
+ "type": ["h-card"],
22
+ "properties": {
23
+ "name": ["Crepes on Cole"],
24
+ "org": ["Crepes on Cole"],
25
+ "adr": [{
26
+ "value": "San Francisco",
27
+ "type": ["h-adr"],
28
+ "properties": {
29
+ "locality": ["San Francisco"],
30
+ "name": ["San Francisco"]
31
+ }
32
+ }]
33
+ }
34
+ }],
35
+ "category": ["crepe"],
36
+ "url": ["http://example.com/crepe"]
37
+ }
38
+ }],
39
+ "rels": {
40
+ "license": ["http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"]
41
+ },
42
+ "rel-urls": {
43
+ "http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License": {
44
+ "text": "Creative Commons Attribution-ShareAlike License",
45
+ "rels": ["license"]
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>rel=license parsing tests</title>
6
+
7
+ <link rel="stylesheet" href="../../../css/testsuite.css">
8
+ <link rel="stylesheet" href="../../../prettify.css">
9
+
10
+ <script src="../../../javascript/prettify.js"></script>
11
+ <script src="../../../javascript/testsuite.js"></script>
12
+
13
+ </head>
14
+ <body class="h-feed">
15
+
16
+ <h1 class="p-name"><span class="p-x-format">rel=license</span> parsing tests &dash; change logs</h1>
17
+
18
+ <p class="p-description">The files in this directory where designed to test the parsing of rel=* and xfn. </p>
19
+
20
+
21
+ <h2>Change log:</h2>
22
+ <ul>
23
+ <!-- Add change log event to the top of this list as a h-entry -->
24
+ <li class="h-entry">
25
+ <span class="p-name e-content">Added new rel-urls test, taken from wiki mf2 parsing page</span> &dash;
26
+ <time class="dt-published" datetime="2015-06-21">1 June 2015</time>
27
+ by <span class="p-author">Glenn Jones</span>
28
+ </li>
29
+ <li class="h-entry">
30
+ <span class="p-name e-content">Fixed empty JSON structure</span> &dash;
31
+ <time class="dt-published" datetime="2015-05-21">21 May 2015</time>
32
+ by <span class="p-author">Glenn Jones</span>
33
+ </li>
34
+ <li class="h-entry">
35
+ <span class="p-name e-content">Broke old HTML format into small files to aid simpler testing</span> &dash;
36
+ <time class="dt-published" datetime="2015-05-21">21 May 2015</time>
37
+ by <span class="p-author">Glenn Jones</span>
38
+ </li>
39
+ <li class="h-entry">
40
+ <span class="p-name e-content">Updated JSON examples so it always has the rel={} object as well as the items=[] array</span> &dash;
41
+ <time class="dt-published" datetime="2013-11-21">21 November 2013</time>
42
+ by <span class="p-author">Glenn Jones</span>
43
+ </li>
44
+ <li class="h-entry">
45
+ <span class="p-name e-content">Created</span> &dash;
46
+ <time class="dt-published" datetime="2013-01-11">11 January 2013</time>
47
+ by <span class="p-author">Glenn Jones</span>
48
+ </li>
49
+ </ul>
50
+
51
+
52
+ <h2>Contributors:</h2>
53
+ <ul>
54
+ <!-- If you Contribute to the test please add yourself as an author using p-author h-card -->
55
+ <li class="p-author h-card">
56
+ <a class="u-url p-name" rel="author" href="http://www.glennjones.net/">Glenn Jones</a>
57
+ </li>
58
+ </ul>
59
+
60
+
61
+ <footer>
62
+ All content and code is released into the <a href="http://en.wikipedia.org/wiki/public_domain">public domain</a>
63
+ </footer>
64
+
65
+ </body>
66
+
67
+ </html>