microformats2 2.9.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,65 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-card"],
4
+ "properties": {
5
+ "name": ["John Doe"],
6
+ "given-name": ["John"],
7
+ "family-name": ["Doe"],
8
+ "sound": ["http://www.madgex.com/johndoe.mpeg"],
9
+ "photo": ["http://example.com/images/photo.gif"],
10
+ "nickname": ["Man with no name", "Lost boy"],
11
+ "note": ["John Doe is one of those names you always have issues with.", "It can be a real problem booking a hotel room with the name John Doe."],
12
+ "logo": ["http://example.com/images/logo.gif", "http://example.com/images/logo.gif"],
13
+ "url": ["http://www.madgex.com/", "http://www.webfeetmedia.com/"],
14
+ "org": ["Madgex", "Web Feet Media Ltd"],
15
+ "job-title": ["Creative Director", "Owner"],
16
+ "category": ["design", "development", "web"],
17
+ "tel": ["+1 415 555 100", "+1 415 555 200", "+1 415 555 300"],
18
+ "email": ["mailto:john.doe@madgex.com", "mailto:john.doe@webfeetmedia.com"],
19
+ "mailer": ["PigeonMail 2.1", "Outlook 2007"],
20
+ "label": ["Work: \n North Street, \n Brighton, \n United Kingdom", "Home: \n West Street, \n Brighton, \n United Kingdom"],
21
+ "adr": [{
22
+ "value": "Work: \n North Street, \n Brighton, \n United Kingdom",
23
+ "type": ["h-adr"],
24
+ "properties": {
25
+ "street-address": ["North Street"],
26
+ "locality": ["Brighton"],
27
+ "country-name": ["United Kingdom"]
28
+ }
29
+ }, {
30
+ "value": "Home: \n West Street, \n Brighton, \n United Kingdom",
31
+ "type": ["h-adr"],
32
+ "properties": {
33
+ "street-address": ["West Street"],
34
+ "locality": ["Brighton"],
35
+ "country-name": ["United Kingdom"]
36
+ }
37
+ }],
38
+ "agent": ["Jane Doe", {
39
+ "value": "Dave Doe",
40
+ "type": ["h-card"],
41
+ "properties": {
42
+ "name": ["Dave Doe"]
43
+ }
44
+ }],
45
+ "key": ["hd02$Gfu*d%dh87KTa2=23934532479"]
46
+ }
47
+ }],
48
+ "rels": {
49
+ "tag": ["http://en.wikipedia.org/wiki/design", "http://en.wikipedia.org/wiki/development", "http://en.wikipedia.org/wiki/web"]
50
+ },
51
+ "rel-urls": {
52
+ "http://en.wikipedia.org/wiki/design": {
53
+ "text": "design",
54
+ "rels": ["tag"]
55
+ },
56
+ "http://en.wikipedia.org/wiki/development": {
57
+ "text": "development",
58
+ "rels": ["tag"]
59
+ },
60
+ "http://en.wikipedia.org/wiki/web": {
61
+ "text": "web",
62
+ "rels": ["tag"]
63
+ }
64
+ }
65
+ }
@@ -0,0 +1,11 @@
1
+ <base href="http://example.com">
2
+ <div class="vcard">
3
+ <div class="name">
4
+ <span class="honorific-prefix">Dr</span>
5
+ <span class="given-name">John</span>
6
+ <abbr class="additional-name" title="Peter">P</abbr>
7
+ <span class="family-name">Doe</span>
8
+ <data class="honorific-suffix" value="MSc"></data>
9
+ <img class="photo honorific-suffix" src="images/logo.gif" alt="PHD" />
10
+ </div>
11
+ </div>
@@ -0,0 +1,15 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-card"],
4
+ "properties": {
5
+ "honorific-prefix": ["Dr"],
6
+ "given-name": ["John"],
7
+ "additional-name": ["Peter"],
8
+ "family-name": ["Doe"],
9
+ "honorific-suffix": ["MSc", "PHD"],
10
+ "photo": ["http://example.com/images/logo.gif"]
11
+ }
12
+ }],
13
+ "rels": {},
14
+ "rel-urls": {}
15
+ }
@@ -0,0 +1,14 @@
1
+ <div class="vcard">
2
+
3
+ <div class="fn n"><span class="given-name sort-string">John</span> Doe</div>
4
+ <div>Birthday: <abbr class="bday" title="2000-01-01T00:00:00-08:00">January 1st, 2000</abbr></div>
5
+ <div>Role: <span class="role">Designer</span></div>
6
+ <div>Location: <abbr class="geo" title="30.267991;-97.739568">Brighton</abbr></div>
7
+ <div>Time zone: <abbr class="tz" title="-05:00">Eastern Standard Time</abbr></div>
8
+
9
+ <div>Profile details:
10
+ <div>Profile id: <span class="uid">http://example.com/profiles/johndoe</span></div>
11
+ <div>Details are: <span class="class">Public</span></div>
12
+ <div>Last updated: <abbr class="rev" title="2008-01-01T13:45:00">January 1st, 2008 - 13:45</abbr></div>
13
+ </div>
14
+ </div>
@@ -0,0 +1,24 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-card"],
4
+ "properties": {
5
+ "name": ["John Doe"],
6
+ "given-name": ["John"],
7
+ "sort-string": ["John"],
8
+ "bday": ["2000-01-01 00:00:00-08:00"],
9
+ "role": ["Designer"],
10
+ "geo": [{
11
+ "value": "30.267991;-97.739568",
12
+ "type": ["h-geo"],
13
+ "properties": {
14
+ }
15
+ }],
16
+ "tz": ["-05:00"],
17
+ "uid": ["http://example.com/profiles/johndoe"],
18
+ "class": ["Public"],
19
+ "rev": ["2008-01-01 13:45:00"]
20
+ }
21
+ }],
22
+ "rels": {},
23
+ "rel-urls": {}
24
+ }
@@ -0,0 +1,73 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>hentry 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">hentry</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 hentry and its output to the newer JSON structure of micorformats 2. </p>
19
+ <p class="p-description">Theses are backwards compatibility tests for the older version 1 microformats specification. Please do not use this as a reference for authoring microformats.</p>
20
+
21
+
22
+ <h2>Change log:</h2>
23
+ <ul>
24
+ <!-- Add change log event to the top of this list as a h-entry -->
25
+ <li class="h-entry">
26
+ <span class="p-name e-content">Update text output to be textContent non-trimmed</span> &dash;
27
+ <time class="dt-published" datetime="2015-05-29">29 May 2015</time>
28
+ by <span class="p-author">Glenn Jones</span>
29
+ </li>
30
+ <li class="h-entry">
31
+ <span class="p-name e-content">Removed duplicate from items[] in summarycontent test</span> &dash;
32
+ <time class="dt-published" datetime="2015-05-23">23 May 2015</time>
33
+ by <span class="p-author">Glenn Jones</span>
34
+ </li>
35
+ <li class="h-entry">
36
+ <span class="p-name e-content">Broke old HTML format into small files to aid simpler testing</span> &dash;
37
+ <time class="dt-published" datetime="2015-05-21">21 May 2015</time>
38
+ by <span class="p-author">Glenn Jones</span>
39
+ </li>
40
+ <li class="h-entry">
41
+ <span class="p-name e-content">Updated JSON examples so it always has the rel={} object as well as the items=[] array</span> &dash;
42
+ <time class="dt-published" datetime="2013-11-21">21 November 2013</time>
43
+ by <span class="p-author">Glenn Jones</span>
44
+ </li>
45
+ <li class="h-entry">
46
+ <span class="p-name e-content">Updated encoding issue on e-*</span> &dash;
47
+ <time class="dt-published" datetime="2013-09-19">19 September 2013</time>
48
+ by <span class="p-author">Glenn Jones</span>
49
+ </li>
50
+ <li class="h-entry">
51
+ <span class="p-name e-content">Copied from version 1 test suite</span> &dash;
52
+ <time class="dt-published" datetime="2013-01-07">7 January 2013</time>
53
+ by <span class="p-author">Glenn Jones</span>
54
+ </li>
55
+ </ul>
56
+
57
+
58
+ <h2>Contributors:</h2>
59
+ <ul>
60
+ <!-- If you Contribute to the test please add yourself as an author using p-author h-card -->
61
+ <li class="p-author h-card">
62
+ <a class="u-url p-name" rel="author" href="http://www.glennjones.net/">Glenn Jones</a>
63
+ </li>
64
+ </ul>
65
+
66
+
67
+ <footer>
68
+ All content and code is released into the <a href="http://en.wikipedia.org/wiki/public_domain">public domain</a>
69
+ </footer>
70
+
71
+ </body>
72
+
73
+ </html>
@@ -0,0 +1,20 @@
1
+ <meta charset="utf-8">
2
+ <div class="hentry">
3
+ <h1><a class="entry-title" href="http://microformats.org/2012/06/25/microformats-org-at-7">microformats.org at 7</a></h1>
4
+ <div class="entry-content">
5
+ <p class="entry-summary">Last week the microformats.org community
6
+ celebrated its 7th birthday at a gathering hosted by Mozilla in
7
+ San Francisco and recognized accomplishments, challenges, and
8
+ opportunities.</p>
9
+
10
+ <p>The microformats tagline “humans first, machines second”
11
+ forms the basis of many of our
12
+ <a href="http://microformats.org/wiki/principles">principles</a>, and
13
+ in that regard, we’d like to recognize a few people and
14
+ thank them for their years of volunteer service </p>
15
+ </div>
16
+ <p>Updated
17
+ <time class="updated" datetime="2012-06-25T17:08:26">June 25th, 2012</time> by
18
+ <span class="author vcard"><a class="fn url" href="http://tantek.com/">Tantek</a></span>
19
+ </p>
20
+ </div>
@@ -0,0 +1,24 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-entry"],
4
+ "properties": {
5
+ "name": ["microformats.org at 7"],
6
+ "content": [{
7
+ "value": "Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities.\n\n The microformats tagline “humans first, machines second” \n forms the basis of many of our \n principles, and \n in that regard, we’d like to recognize a few people and \n thank them for their years of volunteer service",
8
+ "html": "\n <p class=\"entry-summary\">Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities.</p>\n\n <p>The microformats tagline “humans first, machines second” \n forms the basis of many of our \n <a href=\"http://microformats.org/wiki/principles\">principles</a>, and \n in that regard, we’d like to recognize a few people and \n thank them for their years of volunteer service </p>\n"
9
+ }],
10
+ "summary": ["Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities."],
11
+ "updated": ["2012-06-25 17:08:26"],
12
+ "author": [{
13
+ "value": "Tantek",
14
+ "type": ["h-card"],
15
+ "properties": {
16
+ "name": ["Tantek"],
17
+ "url": ["http://tantek.com/"]
18
+ }
19
+ }]
20
+ }
21
+ }],
22
+ "rels": {},
23
+ "rel-urls": {}
24
+ }
@@ -0,0 +1,30 @@
1
+ <section class="hfeed">
2
+ <h1 class="name">Microformats blog</h1>
3
+ <span class="author vcard"><a class="fn url" href="http://tantek.com/">Tantek</a></span>
4
+ <a class="url" href="http://microformats.org/blog">permlink</a>
5
+ <img class="photo" src="photo.jpeg"/>
6
+ <p>
7
+ Tags: <a rel="tag" href="tags/microformats">microformats</a>,
8
+ <a rel="tag" href="tags/html">html</a>
9
+ </p>
10
+
11
+ <div class="hentry">
12
+ <h1><a class="entry-title" rel="bookmark" href="http://microformats.org/2012/06/25/microformats-org-at-7">microformats.org at 7</a></h1>
13
+ <div class="entry-content">
14
+ <p class="entry-summary">Last week the microformats.org community
15
+ celebrated its 7th birthday at a gathering hosted by Mozilla in
16
+ San Francisco and recognized accomplishments, challenges, and
17
+ opportunities.</p>
18
+
19
+ <p>The microformats tagline “humans first, machines second”
20
+ forms the basis of many of our
21
+ <a href="http://microformats.org/wiki/principles">principles</a>, and
22
+ in that regard, we’d like to recognize a few people and
23
+ thank them for their years of volunteer service </p>
24
+ </div>
25
+ <p>Updated
26
+ <time class="updated" datetime="2012-06-25T17:08:26">June 25th, 2012</time>
27
+ </p>
28
+ </div>
29
+
30
+ </section>
@@ -0,0 +1,49 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-feed"],
4
+ "properties": {
5
+ "author": [{
6
+ "value": "Tantek",
7
+ "type": ["h-card"],
8
+ "properties": {
9
+ "name": ["Tantek"],
10
+ "url": ["http://tantek.com/"]
11
+ }
12
+ }],
13
+ "url": ["http://microformats.org/blog"],
14
+ "photo": ["http://example.com/photo.jpeg"],
15
+ "category": ["microformats", "html"]
16
+ },
17
+ "children": [{
18
+ "type": ["h-entry"],
19
+ "properties": {
20
+ "name": ["microformats.org at 7"],
21
+ "url": ["http://microformats.org/2012/06/25/microformats-org-at-7"],
22
+ "content": [{
23
+ "value": "Last week the microformats.org community \n\t celebrated its 7th birthday at a gathering hosted by Mozilla in \n\t San Francisco and recognized accomplishments, challenges, and \n\t opportunities.\n\t\n\t The microformats tagline “humans first, machines second” \n\t forms the basis of many of our \n\t principles, and \n\t in that regard, we’d like to recognize a few people and \n\t thank them for their years of volunteer service",
24
+ "html": "\n\t <p class=\"entry-summary\">Last week the microformats.org community \n\t celebrated its 7th birthday at a gathering hosted by Mozilla in \n\t San Francisco and recognized accomplishments, challenges, and \n\t opportunities.</p>\n\t\n\t <p>The microformats tagline “humans first, machines second” \n\t forms the basis of many of our \n\t <a href=\"http://microformats.org/wiki/principles\">principles</a>, and \n\t in that regard, we’d like to recognize a few people and \n\t thank them for their years of volunteer service </p>\n\t"
25
+ }],
26
+ "summary": ["Last week the microformats.org community \n\t celebrated its 7th birthday at a gathering hosted by Mozilla in \n\t San Francisco and recognized accomplishments, challenges, and \n\t opportunities."],
27
+ "updated": ["2012-06-25 17:08:26"]
28
+ }
29
+ }]
30
+ }],
31
+ "rels": {
32
+ "tag": ["http://example.com/tags/microformats", "http://example.com/tags/html"],
33
+ "bookmark": ["http://microformats.org/2012/06/25/microformats-org-at-7"]
34
+ },
35
+ "rel-urls": {
36
+ "http://example.com/tags/microformats": {
37
+ "text": "microformats",
38
+ "rels": ["tag"]
39
+ },
40
+ "http://example.com/tags/html": {
41
+ "text": "html",
42
+ "rels": ["tag"]
43
+ },
44
+ "http://microformats.org/2012/06/25/microformats-org-at-7": {
45
+ "text": "microformats.org at 7",
46
+ "rels": ["bookmark"]
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,37 @@
1
+ <div class="hnews">
2
+ <div class="entry hentry">
3
+ <h1><a class="entry-title" rel="bookmark" href="http://microformats.org/2012/06/25/microformats-org-at-7">microformats.org at 7</a></h1>
4
+ <div class="entry-content">
5
+ <p class="entry-summary">Last week the microformats.org community
6
+ celebrated its 7th birthday at a gathering hosted by Mozilla in
7
+ San Francisco and recognized accomplishments, challenges, and
8
+ opportunities.</p>
9
+
10
+ <p>The microformats tagline “humans first, machines second”
11
+ forms the basis of many of our
12
+ <a href="http://microformats.org/wiki/principles">principles</a>, and
13
+ in that regard, we’d like to recognize a few people and
14
+ thank them for their years of volunteer service </p>
15
+ </div>
16
+ <p>Updated
17
+ <time class="updated" datetime="2012-06-25T17:08:26">June 25th, 2012</time> by
18
+ <span class="author vcard"><a class="fn url" href="http://tantek.com/">Tantek</a></span>
19
+ </p>
20
+ </div>
21
+
22
+ <p>
23
+ <span class="dateline vcard">
24
+ <span class="adr">
25
+ <span class="locality">San Francisco</span>,
26
+ <span class="region">CA</span>
27
+ </span>
28
+ </span>
29
+ (Geo: <span class="geo">37.774921;-122.445202</span>)
30
+ <span class="source-org vcard">
31
+ <a class="fn org url" href="http://microformats.org/">microformats.org</a>
32
+ </span>
33
+ </p>
34
+ <p>
35
+ <a rel="principles" href="http://microformats.org/wiki/Category:public_domain_license">Publishing policy</a>
36
+ </p>
37
+ </div>
@@ -0,0 +1,74 @@
1
+
2
+ {
3
+ "items": [{
4
+ "type": ["h-news"],
5
+ "properties": {
6
+ "entry": [{
7
+ "value": "microformats.org at 7",
8
+ "type": ["h-entry"],
9
+ "properties": {
10
+ "name": ["microformats.org at 7"],
11
+ "url": ["http://microformats.org/2012/06/25/microformats-org-at-7"],
12
+ "content": [{
13
+ "value": "Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities.\n\n The microformats tagline “humans first, machines second” \n forms the basis of many of our \n principles, and \n in that regard, we’d like to recognize a few people and \n thank them for their years of volunteer service",
14
+ "html": "\n <p class=\"entry-summary\">Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities.</p>\n\n <p>The microformats tagline “humans first, machines second” \n forms the basis of many of our \n <a href=\"http://microformats.org/wiki/principles\">principles</a>, and \n in that regard, we’d like to recognize a few people and \n thank them for their years of volunteer service </p>\n"
15
+ }],
16
+ "summary": ["Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities."],
17
+ "updated": ["2012-06-25 17:08:26"],
18
+ "author": [{
19
+ "value": "Tantek",
20
+ "type": ["h-card"],
21
+ "properties": {
22
+ "name": ["Tantek"],
23
+ "url": ["http://tantek.com/"]
24
+ }
25
+ }]
26
+ }
27
+ }],
28
+ "dateline": [{
29
+ "value": "San Francisco, \n CA",
30
+ "type": ["h-card"],
31
+ "properties": {
32
+ "adr": [{
33
+ "value": "San Francisco, \n CA",
34
+ "type": ["h-adr"],
35
+ "properties": {
36
+ "locality": ["San Francisco"],
37
+ "region": ["CA"]
38
+ }
39
+ }]
40
+ }
41
+ }],
42
+ "geo": [{
43
+ "value": "37.774921;-122.445202",
44
+ "type": ["h-geo"],
45
+ "properties": {
46
+ }
47
+ }],
48
+ "source-org": [{
49
+ "value": "microformats.org",
50
+ "type": ["h-card"],
51
+ "properties": {
52
+ "name": ["microformats.org"],
53
+ "org": ["microformats.org"],
54
+ "url": ["http://microformats.org/"]
55
+ }
56
+ }],
57
+ "principles": ["http://microformats.org/wiki/Category:public_domain_license"]
58
+ }
59
+ }],
60
+ "rels": {
61
+ "bookmark": ["http://microformats.org/2012/06/25/microformats-org-at-7"],
62
+ "principles": ["http://microformats.org/wiki/Category:public_domain_license"]
63
+ },
64
+ "rel-urls": {
65
+ "http://microformats.org/2012/06/25/microformats-org-at-7": {
66
+ "text": "microformats.org at 7",
67
+ "rels": ["bookmark"]
68
+ },
69
+ "http://microformats.org/wiki/Category:public_domain_license": {
70
+ "text": "Publishing policy",
71
+ "rels": ["principles"]
72
+ }
73
+ }
74
+ }