nokogiri 1.8.5 → 1.13.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (356) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -21
  3. data/LICENSE-DEPENDENCIES.md +1159 -868
  4. data/LICENSE.md +5 -28
  5. data/README.md +196 -90
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +13 -59
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +750 -420
  10. data/ext/nokogiri/gumbo.c +584 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +119 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  17. data/ext/nokogiri/nokogiri.c +228 -91
  18. data/ext/nokogiri/nokogiri.h +191 -89
  19. data/ext/nokogiri/test_global_handlers.c +40 -0
  20. data/ext/nokogiri/xml_attr.c +41 -36
  21. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  22. data/ext/nokogiri/xml_cdata.c +13 -18
  23. data/ext/nokogiri/xml_comment.c +19 -26
  24. data/ext/nokogiri/xml_document.c +291 -216
  25. data/ext/nokogiri/xml_document_fragment.c +12 -16
  26. data/ext/nokogiri/xml_dtd.c +56 -50
  27. data/ext/nokogiri/xml_element_content.c +31 -26
  28. data/ext/nokogiri/xml_element_decl.c +22 -22
  29. data/ext/nokogiri/xml_encoding_handler.c +43 -18
  30. data/ext/nokogiri/xml_entity_decl.c +32 -30
  31. data/ext/nokogiri/xml_entity_reference.c +16 -18
  32. data/ext/nokogiri/xml_namespace.c +61 -52
  33. data/ext/nokogiri/xml_node.c +1044 -616
  34. data/ext/nokogiri/xml_node_set.c +174 -162
  35. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  36. data/ext/nokogiri/xml_reader.c +226 -175
  37. data/ext/nokogiri/xml_relax_ng.c +52 -28
  38. data/ext/nokogiri/xml_sax_parser.c +112 -112
  39. data/ext/nokogiri/xml_sax_parser_context.c +112 -86
  40. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  41. data/ext/nokogiri/xml_schema.c +112 -33
  42. data/ext/nokogiri/xml_syntax_error.c +42 -21
  43. data/ext/nokogiri/xml_text.c +13 -17
  44. data/ext/nokogiri/xml_xpath_context.c +223 -115
  45. data/ext/nokogiri/xslt_stylesheet.c +265 -173
  46. data/gumbo-parser/CHANGES.md +63 -0
  47. data/gumbo-parser/Makefile +101 -0
  48. data/gumbo-parser/THANKS +27 -0
  49. data/gumbo-parser/src/Makefile +34 -0
  50. data/gumbo-parser/src/README.md +41 -0
  51. data/gumbo-parser/src/ascii.c +75 -0
  52. data/gumbo-parser/src/ascii.h +115 -0
  53. data/gumbo-parser/src/attribute.c +42 -0
  54. data/gumbo-parser/src/attribute.h +17 -0
  55. data/gumbo-parser/src/char_ref.c +22225 -0
  56. data/gumbo-parser/src/char_ref.h +29 -0
  57. data/gumbo-parser/src/char_ref.rl +2154 -0
  58. data/gumbo-parser/src/error.c +626 -0
  59. data/gumbo-parser/src/error.h +148 -0
  60. data/gumbo-parser/src/foreign_attrs.c +104 -0
  61. data/gumbo-parser/src/foreign_attrs.gperf +27 -0
  62. data/gumbo-parser/src/gumbo.h +943 -0
  63. data/gumbo-parser/src/insertion_mode.h +33 -0
  64. data/gumbo-parser/src/macros.h +91 -0
  65. data/gumbo-parser/src/parser.c +4875 -0
  66. data/gumbo-parser/src/parser.h +41 -0
  67. data/gumbo-parser/src/replacement.h +33 -0
  68. data/gumbo-parser/src/string_buffer.c +103 -0
  69. data/gumbo-parser/src/string_buffer.h +68 -0
  70. data/gumbo-parser/src/string_piece.c +48 -0
  71. data/gumbo-parser/src/svg_attrs.c +174 -0
  72. data/gumbo-parser/src/svg_attrs.gperf +77 -0
  73. data/gumbo-parser/src/svg_tags.c +137 -0
  74. data/gumbo-parser/src/svg_tags.gperf +55 -0
  75. data/gumbo-parser/src/tag.c +222 -0
  76. data/gumbo-parser/src/tag_lookup.c +382 -0
  77. data/gumbo-parser/src/tag_lookup.gperf +169 -0
  78. data/gumbo-parser/src/tag_lookup.h +13 -0
  79. data/gumbo-parser/src/token_buffer.c +79 -0
  80. data/gumbo-parser/src/token_buffer.h +71 -0
  81. data/gumbo-parser/src/token_type.h +17 -0
  82. data/gumbo-parser/src/tokenizer.c +3463 -0
  83. data/gumbo-parser/src/tokenizer.h +112 -0
  84. data/gumbo-parser/src/tokenizer_states.h +339 -0
  85. data/gumbo-parser/src/utf8.c +245 -0
  86. data/gumbo-parser/src/utf8.h +164 -0
  87. data/gumbo-parser/src/util.c +68 -0
  88. data/gumbo-parser/src/util.h +30 -0
  89. data/gumbo-parser/src/vector.c +111 -0
  90. data/gumbo-parser/src/vector.h +45 -0
  91. data/lib/nokogiri/class_resolver.rb +67 -0
  92. data/lib/nokogiri/css/node.rb +10 -8
  93. data/lib/nokogiri/css/parser.rb +397 -377
  94. data/lib/nokogiri/css/parser.y +250 -245
  95. data/lib/nokogiri/css/parser_extras.rb +54 -49
  96. data/lib/nokogiri/css/syntax_error.rb +3 -1
  97. data/lib/nokogiri/css/tokenizer.rb +107 -104
  98. data/lib/nokogiri/css/tokenizer.rex +3 -2
  99. data/lib/nokogiri/css/xpath_visitor.rb +218 -91
  100. data/lib/nokogiri/css.rb +50 -17
  101. data/lib/nokogiri/decorators/slop.rb +9 -7
  102. data/lib/nokogiri/extension.rb +31 -0
  103. data/lib/nokogiri/gumbo.rb +15 -0
  104. data/lib/nokogiri/html.rb +38 -27
  105. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  106. data/lib/nokogiri/{html → html4}/document.rb +103 -105
  107. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  108. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  109. data/lib/nokogiri/html4/element_description_defaults.rb +578 -0
  110. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  111. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  112. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  113. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  114. data/lib/nokogiri/html4.rb +46 -0
  115. data/lib/nokogiri/html5/document.rb +91 -0
  116. data/lib/nokogiri/html5/document_fragment.rb +83 -0
  117. data/lib/nokogiri/html5/node.rb +100 -0
  118. data/lib/nokogiri/html5.rb +478 -0
  119. data/lib/nokogiri/jruby/dependencies.rb +21 -0
  120. data/lib/nokogiri/syntax_error.rb +2 -0
  121. data/lib/nokogiri/version/constant.rb +6 -0
  122. data/lib/nokogiri/version/info.rb +222 -0
  123. data/lib/nokogiri/version.rb +3 -108
  124. data/lib/nokogiri/xml/attr.rb +6 -3
  125. data/lib/nokogiri/xml/attribute_decl.rb +3 -1
  126. data/lib/nokogiri/xml/builder.rb +97 -53
  127. data/lib/nokogiri/xml/cdata.rb +3 -1
  128. data/lib/nokogiri/xml/character_data.rb +2 -0
  129. data/lib/nokogiri/xml/document.rb +224 -86
  130. data/lib/nokogiri/xml/document_fragment.rb +57 -44
  131. data/lib/nokogiri/xml/dtd.rb +4 -2
  132. data/lib/nokogiri/xml/element_content.rb +2 -0
  133. data/lib/nokogiri/xml/element_decl.rb +3 -1
  134. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  135. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  136. data/lib/nokogiri/xml/namespace.rb +3 -0
  137. data/lib/nokogiri/xml/node/save_options.rb +10 -5
  138. data/lib/nokogiri/xml/node.rb +895 -377
  139. data/lib/nokogiri/xml/node_set.rb +92 -65
  140. data/lib/nokogiri/xml/notation.rb +13 -0
  141. data/lib/nokogiri/xml/parse_options.rb +22 -8
  142. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  143. data/lib/nokogiri/xml/pp/node.rb +25 -26
  144. data/lib/nokogiri/xml/pp.rb +4 -2
  145. data/lib/nokogiri/xml/processing_instruction.rb +3 -1
  146. data/lib/nokogiri/xml/reader.rb +23 -28
  147. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  148. data/lib/nokogiri/xml/sax/document.rb +45 -49
  149. data/lib/nokogiri/xml/sax/parser.rb +38 -34
  150. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  151. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  152. data/lib/nokogiri/xml/sax.rb +6 -4
  153. data/lib/nokogiri/xml/schema.rb +19 -9
  154. data/lib/nokogiri/xml/searchable.rb +112 -72
  155. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  156. data/lib/nokogiri/xml/text.rb +2 -0
  157. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  158. data/lib/nokogiri/xml/xpath.rb +15 -4
  159. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  160. data/lib/nokogiri/xml.rb +38 -37
  161. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  162. data/lib/nokogiri/xslt.rb +29 -20
  163. data/lib/nokogiri.rb +49 -65
  164. data/lib/xsd/xmlparser/nokogiri.rb +26 -24
  165. data/patches/libxml2/0001-Remove-script-macro-support.patch +40 -0
  166. data/patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch +44 -0
  167. data/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch +25 -0
  168. data/patches/libxml2/0004-use-glibc-strlen.patch +53 -0
  169. data/patches/libxml2/0005-avoid-isnan-isinf.patch +81 -0
  170. data/patches/libxml2/0006-update-automake-files-for-arm64.patch +3040 -0
  171. data/patches/libxml2/0008-htmlParseComment-handle-abruptly-closed-comments.patch +61 -0
  172. data/patches/libxml2/0009-allow-wildcard-namespaces.patch +77 -0
  173. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +3037 -0
  174. data/ports/archives/libxml2-2.9.14.tar.xz +0 -0
  175. data/ports/archives/libxslt-1.1.35.tar.xz +0 -0
  176. metadata +220 -266
  177. data/.autotest +0 -22
  178. data/.cross_rubies +0 -8
  179. data/.editorconfig +0 -17
  180. data/.gemtest +0 -0
  181. data/.travis.yml +0 -63
  182. data/CHANGELOG.md +0 -1368
  183. data/CONTRIBUTING.md +0 -42
  184. data/C_CODING_STYLE.rdoc +0 -33
  185. data/Gemfile-libxml-ruby +0 -3
  186. data/Manifest.txt +0 -370
  187. data/ROADMAP.md +0 -111
  188. data/Rakefile +0 -348
  189. data/SECURITY.md +0 -19
  190. data/STANDARD_RESPONSES.md +0 -47
  191. data/Y_U_NO_GEMSPEC.md +0 -155
  192. data/appveyor.yml +0 -29
  193. data/build_all +0 -44
  194. data/ext/nokogiri/html_document.c +0 -170
  195. data/ext/nokogiri/html_document.h +0 -10
  196. data/ext/nokogiri/html_element_description.c +0 -279
  197. data/ext/nokogiri/html_element_description.h +0 -10
  198. data/ext/nokogiri/html_entity_lookup.c +0 -32
  199. data/ext/nokogiri/html_entity_lookup.h +0 -8
  200. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  201. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  202. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  203. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  204. data/ext/nokogiri/xml_attr.h +0 -9
  205. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  206. data/ext/nokogiri/xml_cdata.h +0 -9
  207. data/ext/nokogiri/xml_comment.h +0 -9
  208. data/ext/nokogiri/xml_document.h +0 -23
  209. data/ext/nokogiri/xml_document_fragment.h +0 -10
  210. data/ext/nokogiri/xml_dtd.h +0 -10
  211. data/ext/nokogiri/xml_element_content.h +0 -10
  212. data/ext/nokogiri/xml_element_decl.h +0 -9
  213. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  214. data/ext/nokogiri/xml_entity_decl.h +0 -10
  215. data/ext/nokogiri/xml_entity_reference.h +0 -9
  216. data/ext/nokogiri/xml_io.c +0 -61
  217. data/ext/nokogiri/xml_io.h +0 -11
  218. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  219. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  220. data/ext/nokogiri/xml_namespace.h +0 -15
  221. data/ext/nokogiri/xml_node.h +0 -13
  222. data/ext/nokogiri/xml_node_set.h +0 -12
  223. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  224. data/ext/nokogiri/xml_reader.h +0 -10
  225. data/ext/nokogiri/xml_relax_ng.h +0 -9
  226. data/ext/nokogiri/xml_sax_parser.h +0 -39
  227. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  228. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  229. data/ext/nokogiri/xml_schema.h +0 -9
  230. data/ext/nokogiri/xml_syntax_error.h +0 -13
  231. data/ext/nokogiri/xml_text.h +0 -9
  232. data/ext/nokogiri/xml_xpath_context.h +0 -10
  233. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  234. data/lib/nokogiri/html/document_fragment.rb +0 -49
  235. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  236. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  237. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  238. data/patches/libxml2/0002-Fix-nullptr-deref-with-XPath-logic-ops.patch +0 -54
  239. data/patches/libxml2/0003-Fix-infinite-loop-in-LZMA-decompression.patch +0 -50
  240. data/patches/sort-patches-by-date +0 -25
  241. data/ports/archives/libxml2-2.9.8.tar.gz +0 -0
  242. data/ports/archives/libxslt-1.1.32.tar.gz +0 -0
  243. data/suppressions/README.txt +0 -1
  244. data/suppressions/nokogiri_ruby-2.supp +0 -10
  245. data/tasks/test.rb +0 -100
  246. data/test/css/test_nthiness.rb +0 -226
  247. data/test/css/test_parser.rb +0 -386
  248. data/test/css/test_tokenizer.rb +0 -215
  249. data/test/css/test_xpath_visitor.rb +0 -96
  250. data/test/decorators/test_slop.rb +0 -23
  251. data/test/files/2ch.html +0 -108
  252. data/test/files/GH_1042.html +0 -18
  253. data/test/files/address_book.rlx +0 -12
  254. data/test/files/address_book.xml +0 -10
  255. data/test/files/atom.xml +0 -344
  256. data/test/files/bar/bar.xsd +0 -4
  257. data/test/files/bogus.xml +0 -0
  258. data/test/files/dont_hurt_em_why.xml +0 -422
  259. data/test/files/encoding.html +0 -82
  260. data/test/files/encoding.xhtml +0 -84
  261. data/test/files/exslt.xml +0 -8
  262. data/test/files/exslt.xslt +0 -35
  263. data/test/files/foo/foo.xsd +0 -4
  264. data/test/files/metacharset.html +0 -10
  265. data/test/files/namespace_pressure_test.xml +0 -1684
  266. data/test/files/noencoding.html +0 -47
  267. data/test/files/po.xml +0 -32
  268. data/test/files/po.xsd +0 -66
  269. data/test/files/saml/saml20assertion_schema.xsd +0 -283
  270. data/test/files/saml/saml20protocol_schema.xsd +0 -302
  271. data/test/files/saml/xenc_schema.xsd +0 -146
  272. data/test/files/saml/xmldsig_schema.xsd +0 -318
  273. data/test/files/shift_jis.html +0 -10
  274. data/test/files/shift_jis.xml +0 -5
  275. data/test/files/shift_jis_no_charset.html +0 -9
  276. data/test/files/slow-xpath.xml +0 -25509
  277. data/test/files/snuggles.xml +0 -3
  278. data/test/files/staff.dtd +0 -10
  279. data/test/files/staff.xml +0 -59
  280. data/test/files/staff.xslt +0 -32
  281. data/test/files/test_document_url/bar.xml +0 -2
  282. data/test/files/test_document_url/document.dtd +0 -4
  283. data/test/files/test_document_url/document.xml +0 -6
  284. data/test/files/tlm.html +0 -851
  285. data/test/files/to_be_xincluded.xml +0 -2
  286. data/test/files/valid_bar.xml +0 -2
  287. data/test/files/xinclude.xml +0 -4
  288. data/test/helper.rb +0 -271
  289. data/test/html/sax/test_parser.rb +0 -168
  290. data/test/html/sax/test_parser_context.rb +0 -46
  291. data/test/html/sax/test_parser_text.rb +0 -163
  292. data/test/html/sax/test_push_parser.rb +0 -87
  293. data/test/html/test_attributes.rb +0 -85
  294. data/test/html/test_builder.rb +0 -164
  295. data/test/html/test_document.rb +0 -712
  296. data/test/html/test_document_encoding.rb +0 -143
  297. data/test/html/test_document_fragment.rb +0 -310
  298. data/test/html/test_element_description.rb +0 -105
  299. data/test/html/test_named_characters.rb +0 -14
  300. data/test/html/test_node.rb +0 -212
  301. data/test/html/test_node_encoding.rb +0 -91
  302. data/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  303. data/test/namespaces/test_namespaces_aliased_default.rb +0 -24
  304. data/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  305. data/test/namespaces/test_namespaces_in_cloned_doc.rb +0 -31
  306. data/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  307. data/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -80
  308. data/test/namespaces/test_namespaces_preservation.rb +0 -31
  309. data/test/test_convert_xpath.rb +0 -135
  310. data/test/test_css_cache.rb +0 -47
  311. data/test/test_encoding_handler.rb +0 -48
  312. data/test/test_memory_leak.rb +0 -156
  313. data/test/test_nokogiri.rb +0 -138
  314. data/test/test_soap4r_sax.rb +0 -52
  315. data/test/test_xslt_transforms.rb +0 -314
  316. data/test/xml/node/test_save_options.rb +0 -28
  317. data/test/xml/node/test_subclass.rb +0 -44
  318. data/test/xml/sax/test_parser.rb +0 -402
  319. data/test/xml/sax/test_parser_context.rb +0 -115
  320. data/test/xml/sax/test_parser_text.rb +0 -202
  321. data/test/xml/sax/test_push_parser.rb +0 -265
  322. data/test/xml/test_attr.rb +0 -74
  323. data/test/xml/test_attribute_decl.rb +0 -86
  324. data/test/xml/test_builder.rb +0 -341
  325. data/test/xml/test_c14n.rb +0 -180
  326. data/test/xml/test_cdata.rb +0 -54
  327. data/test/xml/test_comment.rb +0 -40
  328. data/test/xml/test_document.rb +0 -982
  329. data/test/xml/test_document_encoding.rb +0 -31
  330. data/test/xml/test_document_fragment.rb +0 -298
  331. data/test/xml/test_dtd.rb +0 -187
  332. data/test/xml/test_dtd_encoding.rb +0 -31
  333. data/test/xml/test_element_content.rb +0 -56
  334. data/test/xml/test_element_decl.rb +0 -73
  335. data/test/xml/test_entity_decl.rb +0 -122
  336. data/test/xml/test_entity_reference.rb +0 -262
  337. data/test/xml/test_namespace.rb +0 -96
  338. data/test/xml/test_node.rb +0 -1325
  339. data/test/xml/test_node_attributes.rb +0 -115
  340. data/test/xml/test_node_encoding.rb +0 -75
  341. data/test/xml/test_node_inheritance.rb +0 -32
  342. data/test/xml/test_node_reparenting.rb +0 -592
  343. data/test/xml/test_node_set.rb +0 -809
  344. data/test/xml/test_parse_options.rb +0 -64
  345. data/test/xml/test_processing_instruction.rb +0 -30
  346. data/test/xml/test_reader.rb +0 -620
  347. data/test/xml/test_reader_encoding.rb +0 -134
  348. data/test/xml/test_relax_ng.rb +0 -60
  349. data/test/xml/test_schema.rb +0 -142
  350. data/test/xml/test_syntax_error.rb +0 -36
  351. data/test/xml/test_text.rb +0 -60
  352. data/test/xml/test_unparented_node.rb +0 -483
  353. data/test/xml/test_xinclude.rb +0 -83
  354. data/test/xml/test_xpath.rb +0 -470
  355. data/test/xslt/test_custom_functions.rb +0 -133
  356. data/test/xslt/test_exception_handling.rb +0 -37
@@ -1,96 +0,0 @@
1
- require "helper"
2
-
3
- module Nokogiri
4
- module CSS
5
- class TestXPathVisitor < Nokogiri::TestCase
6
- def setup
7
- super
8
- @parser = Nokogiri::CSS::Parser.new
9
- end
10
-
11
- def test_not_simple_selector
12
- assert_xpath('//ol/*[not(self::li)]', @parser.parse('ol > *:not(li)'))
13
- end
14
-
15
- def test_not_last_child
16
- assert_xpath('//ol/*[not(count(following-sibling::*) = 0)]',
17
- @parser.parse('ol > *:not(:last-child)'))
18
- end
19
-
20
- def test_not_only_child
21
- assert_xpath('//ol/*[not(count(preceding-sibling::*) = 0 and count(following-sibling::*) = 0)]',
22
- @parser.parse('ol > *:not(:only-child)'))
23
- end
24
-
25
- def test_function_calls_allow_at_params
26
- assert_xpath("//a[foo(., @href)]", @parser.parse('a:foo(@href)'))
27
- assert_xpath("//a[foo(., @a, b)]", @parser.parse('a:foo(@a, b)'))
28
- assert_xpath("//a[foo(., a, 10)]", @parser.parse('a:foo(a, 10)'))
29
- end
30
-
31
- def test_namespace_conversion
32
- assert_xpath("//aaron:a", @parser.parse('aaron|a'))
33
- assert_xpath("//a", @parser.parse('|a'))
34
- end
35
-
36
- def test_namespaced_attribute_conversion
37
- assert_xpath("//a[@flavorjones:href]", @parser.parse('a[flavorjones|href]'))
38
- assert_xpath("//a[@href]", @parser.parse('a[|href]'))
39
- assert_xpath("//*[@flavorjones:href]", @parser.parse('*[flavorjones|href]'))
40
- end
41
-
42
- def test_unknown_psuedo_classes_get_pushed_down
43
- assert_xpath("//a[aaron(.)]", @parser.parse('a:aaron'))
44
- end
45
-
46
- def test_unknown_functions_get_dot_plus_args
47
- assert_xpath("//a[aaron(.)]", @parser.parse('a:aaron()'))
48
- assert_xpath("//a[aaron(., 12)]", @parser.parse('a:aaron(12)'))
49
- assert_xpath("//a[aaron(., 12, 1)]", @parser.parse('a:aaron(12, 1)'))
50
- end
51
-
52
- def test_class_selectors
53
- assert_xpath "//*[contains(concat(' ', normalize-space(@class), ' '), ' red ')]",
54
- @parser.parse(".red")
55
- end
56
-
57
- def test_pipe
58
- assert_xpath "//a[@id = 'Boing' or starts-with(@id, concat('Boing', '-'))]",
59
- @parser.parse("a[id|='Boing']")
60
- end
61
-
62
- def test_custom_functions
63
- visitor = Class.new(XPathVisitor) do
64
- attr_accessor :awesome
65
- def visit_function_aaron node
66
- @awesome = true
67
- 'aaron() = 1'
68
- end
69
- end.new
70
- ast = @parser.parse('a:aaron()').first
71
- assert_equal 'a[aaron() = 1]', visitor.accept(ast)
72
- assert visitor.awesome
73
- end
74
-
75
- def test_custom_psuedo_classes
76
- visitor = Class.new(XPathVisitor) do
77
- attr_accessor :awesome
78
- def visit_pseudo_class_aaron node
79
- @awesome = true
80
- 'aaron() = 1'
81
- end
82
- end.new
83
- ast = @parser.parse('a:aaron').first
84
- assert_equal 'a[aaron() = 1]', visitor.accept(ast)
85
- assert visitor.awesome
86
- end
87
-
88
- def assert_xpath expecteds, asts
89
- expecteds = [expecteds].flatten
90
- expecteds.zip(asts).each do |expected, actual|
91
- assert_equal expected, actual.to_xpath
92
- end
93
- end
94
- end
95
- end
96
- end
@@ -1,23 +0,0 @@
1
- require "helper"
2
-
3
- module Nokogiri
4
- class TestSlop < Nokogiri::TestCase
5
- def test_description_tag
6
- doc = Nokogiri.Slop(<<-eoxml)
7
- <item>
8
- <title>foo</title>
9
- <description>this is the foo thing</description>
10
- </item>
11
- eoxml
12
-
13
- assert doc.item.respond_to?(:title)
14
- assert_equal 'foo', doc.item.title.text
15
-
16
- assert doc.item.respond_to?(:_description), 'should have description'
17
- assert_equal 'this is the foo thing', doc.item._description.text
18
-
19
- assert !doc.item.respond_to?(:foo)
20
- assert_raise(NoMethodError) { doc.item.foo }
21
- end
22
- end
23
- end
data/test/files/2ch.html DELETED
@@ -1,108 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
5
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
6
- <meta http-equiv="Content-Style-Type" content="text/css" />
7
- <meta name="Description" CONTENT="�u�n�b�L���O�v����u���ӂ̂������v�܂ł���L���J�o�[���鋐��f���ŒQ�w�Q�����˂�x�ւ悤�����I">
8
- <meta name="KeyWords" CONTENT="�Q�����˂�, �f����, 2ch, BBS">
9
- <meta name="Author" CONTENT="�Q�����˂�">
10
- <meta name="verify-v1" content="hMevVuWJIPYrUj9ItfRJByoLNIpyhnrWaywiH+IFocU=" />
11
- <title>�Q�����˂�f���‚ւ悤����</title>
12
- <style type="text/css" media="all">
13
- @import url(2ch_top.css);
14
- </style>
15
- <script>
16
- <!--
17
- function fcs(){document.f.STR.focus();}
18
- -->
19
- </script>
20
- </head>
21
-
22
- <body onLoad="document.f.STR.focus()">
23
-
24
- <div id="wrapper">
25
- <div id="header">
26
- <div id="header_inside">
27
- <div class="header_left">
28
- <a href="http://www2.2ch.net/2ch.html"><img src="images/2ch_logo.gif" width="151" height="40" alt="�Q�����˂�" align="middle" border="0" /><a href="http://www2.2ch.net/2ch.html">�f����</a>�b
29
- <a href="http://c.2ch.net/">imode</a>�b<a href="http://orz.2ch.io/top.html">�g��orz</a>�b<a href="http://p2.2ch.net/">�r���[�Ap2</a>
30
- </div>
31
-
32
- <div class="senna_banner">
33
-
34
- <a href="http://razil.jp/product/senna/"><img src="images/senna88x31.gif" width="88" height="31" alt="Senna" align="middle" border="0" /></a>
35
- </div>
36
- <div class="header_right">
37
- <!---find 2ch form --->
38
- <form method=GET name=f action="http://find.2ch.net/" style="margin:0px">
39
- <input size=25 name=STR value="" class="form_input">
40
- <select name="TYPE" class="form_select">
41
- <option value="BODY">�{��</option>
42
-
43
- <option value="TITLE" selected>�X���b�h�^�C�g��</option>
44
- <option value="POSTERS">���e��</option>
45
- </select>
46
- <input type="image" src="images/search_button.gif" alt="����" class="form_button"><br />
47
- <input type=hidden name=BBS value=ALL>
48
-
49
- <input type=hidden name=ENCODING value=SJIS>
50
- <input type=hidden name=COUNT value=50>
51
- <div class="caption">�{�������⌟���ݒ��<a href="http://find.2ch.net/moritapo/notlogin.php">���O�C��</a><a href="http://find.2ch.net/moritapo/welcome/">&raquo;�ڍ�</a></div>
52
-
53
- </form>
54
- </div>
55
- </div><!--- header_inside --->
56
- </div><!--- end of header--->
57
-
58
- <div id="under_header">
59
- <a href="http://newsnavi.2ch.net/">�j���[�X</a>�b<a href="http://headline.2ch.net/bbynews/">�w�b�h���C��</a>�b<a href="http://epg.2ch.net/">�e���r��</a>�b<a href="http://www.2ch.net/kakolog.html">�ߋ����O�q��</a>
60
-
61
- </div><!--- end of under header--->
62
-
63
- <div id="main">
64
- <iframe src="http://cast.texpo.jp/2chtop/main_frame.html" width="100%" height="550" scrolling="no" border="0" frameborder="0"></iframe>
65
- </div><!--- end of main--->
66
-
67
- <div id="footer_menu">
68
- <div class="guide">
69
- <a href="http://info.2ch.net/guide/">�g����������</a>�b<a href="http://info.2ch.net/guide/adv.html#saku_guide">�폜�K�C�h���C��</a>�b<a href="http://www2.2ch.net/2ch2.html">�g���Ń��j���[</a>�b<a href="http://info.2ch.net/blog.html">�Ђ�䂫���L</a>�b<a href="http://www.2ch.net/ad.html">�L���̂��ē�</a>
70
-
71
- </div>
72
-
73
- <div class="service">
74
- <iframe src="http://cast.texpo.jp/2chtop/moritapo_frame.html" width="100%" height="50" scrolling="no" border="0" frameborder="0"></iframe>
75
- </div>
76
-
77
- <div class="banner">
78
- <a href=http://livede55.com/ target="_blank"><img
79
- src="http://www2.livede55.com/2ch_468_60_13.gif"
80
- width="468" height="60" border="0" alt=���C�u�`���b�g></a><br>
81
- <br>
82
- <A href="http://www.bb-chat.tv/" target=_blank><IMG height=60 src="http://img.bbchat.tv/images/bannar/46860-3.gif" width=468 border=0></A><br>
83
- </div>
84
-
85
- <div class="condition">
86
- �Q�����˂�̂����p�͗��p�Ҋe�ʂ̂����f�ɂ��C�����Ă��܂��b<a href="precautions.html">2ch�̃f�[�^���p�ɂ‚���</a>
87
-
88
- </div>
89
- </div><!--- end of footer_menu--->
90
-
91
-
92
- <div id="footer">
93
- <div class="footer_left">
94
- <a href="http://www.bunka.go.jp/jiyuriyo/" target="_blank">
95
- <img src="http://www.dd.iij4u.or.jp/~cap/y_3copyok.jpg" width="184" height="31" border="0" alt="���R���p�}�[�N" /></a>
96
- </div>
97
-
98
- <div class="footer_right">
99
- <a href="http://count.2ch.net/?index" target="_blank">
100
- <img src="http://count.2ch.net/ct.php/index" width="88" height="31" border="0" alt="���������J�E���^�["></a>
101
-
102
-
103
- </div>
104
- </div><!---end of footer--->
105
-
106
- </div><!--- end of wrapper--->
107
- </body>
108
- </html>
@@ -1,18 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head></head>
4
- <body>
5
- <table align="center" border>
6
- <tr><th>foo1.0</th><th>bar</th><th>bazz</th></tr>
7
- <tr><td>foo1.1</td><td>bar</td><td>bazz</td></tr>
8
- </table>
9
- <table align="center" border>
10
- <tr><th>foo2.0</th><th>bar</th><th>bazz</th></tr>
11
- <tr><td>foo2.1</td><td>bar</td><td>bazz</td></tr>
12
- </table>
13
- <table align="center" border>
14
- <tr><th>foo3.0</th><th>bar</th><th>bazz</th></tr>
15
- <tr><td>foo3.1</td><td>bar</td><td>bazz</td></tr>
16
- </table>
17
- </body>
18
- </html>
@@ -1,12 +0,0 @@
1
- <element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
2
- <oneOrMore>
3
- <element name="card">
4
- <element name="name">
5
- <text/>
6
- </element>
7
- <element name="email">
8
- <text/>
9
- </element>
10
- </element>
11
- </oneOrMore>
12
- </element>
@@ -1,10 +0,0 @@
1
- <addressBook>
2
- <card>
3
- <name>John Smith</name>
4
- <email>js@example.com</email>
5
- </card>
6
- <card>
7
- <name>Fred Bloggs</name>
8
- <email>fb@example.net</email>
9
- </card>
10
- </addressBook>
data/test/files/atom.xml DELETED
@@ -1,344 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xml:lang="en-US">
3
- <id>tag:github.com,2008:/sparklemotion/nokogiri/commits/master</id>
4
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commits/master"/>
5
- <link type="application/atom+xml" rel="self" href="https://github.com/sparklemotion/nokogiri/commits/master.atom"/>
6
- <title>Recent Commits to nokogiri:master</title>
7
- <updated>2013-07-02T08:17:16-07:00</updated>
8
- <entry>
9
- <id>tag:github.com,2008:Grit::Commit/233489ddfe4698b24dfcdc1daf3ca15bc880e4b1</id>
10
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/233489ddfe4698b24dfcdc1daf3ca15bc880e4b1"/>
11
- <title>
12
- Updated changelog with merged pull requests #887 and #931
13
- </title>
14
- <updated>2013-07-02T08:17:16-07:00</updated>
15
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
16
- <author>
17
- <name>injekt</name>
18
- <uri>https://github.com/injekt</uri>
19
- </author>
20
- <content type="html">
21
- &lt;pre style='white-space:pre-wrap;width:81ex'>Updated changelog with merged pull requests #887 and #931&lt;/pre>
22
- </content>
23
- </entry>
24
- <entry>
25
- <id>tag:github.com,2008:Grit::Commit/15eff8be4539a3461cfc1e3c8a257e7eed134e01</id>
26
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/15eff8be4539a3461cfc1e3c8a257e7eed134e01"/>
27
- <title>
28
- Merge pull request #887 from Mange/double-not
29
- </title>
30
- <updated>2013-07-02T08:13:36-07:00</updated>
31
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
32
- <author>
33
- <name>injekt</name>
34
- <uri>https://github.com/injekt</uri>
35
- </author>
36
- <content type="html">
37
- &lt;pre style='white-space:pre-wrap;width:81ex'>Merge pull request #887 from Mange/double-not
38
-
39
- Add support for bare and multiple :not() functions in selectors&lt;/pre>
40
- </content>
41
- </entry>
42
- <entry>
43
- <id>tag:github.com,2008:Grit::Commit/7a54b1fd1ba1dbcd50d3566bcc62d554eb0fd30e</id>
44
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/7a54b1fd1ba1dbcd50d3566bcc62d554eb0fd30e"/>
45
- <title>
46
- Merge pull request #931 from sorah/dont_call_pkgconfig_when_using_bundled_libraries
47
- </title>
48
- <updated>2013-07-02T08:11:37-07:00</updated>
49
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/74f896b312b786ee75a18073941e2457?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
50
- <author>
51
- <name>knu</name>
52
- <uri>https://github.com/knu</uri>
53
- </author>
54
- <content type="html">
55
- &lt;pre style='white-space:pre-wrap;width:81ex'>Merge pull request #931 from sorah/dont_call_pkgconfig_when_using_bundled_libraries
56
-
57
- extconf.rb: Don&#39;t call pkg_config when using bundled libraries&lt;/pre>
58
- </content>
59
- </entry>
60
- <entry>
61
- <id>tag:github.com,2008:Grit::Commit/e5b93617ba810a34a4fc70dac76a83f9bebd2ea1</id>
62
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/e5b93617ba810a34a4fc70dac76a83f9bebd2ea1"/>
63
- <title>
64
- extconf.rb: Don&#39;t call pkg_config when using bundled libraries
65
- </title>
66
- <updated>2013-07-02T06:30:00-07:00</updated>
67
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/c4f076f658dd3464f1d8785ad53a0d99?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
68
- <author>
69
- <name>sorah</name>
70
- <uri>https://github.com/sorah</uri>
71
- </author>
72
- <content type="html">
73
- &lt;pre style='white-space:pre-wrap;width:81ex'>extconf.rb: Don&#39;t call pkg_config when using bundled libraries&lt;/pre>
74
- </content>
75
- </entry>
76
- <entry>
77
- <id>tag:github.com,2008:Grit::Commit/64cd3c8f506394b558bda9376844a51db971bd60</id>
78
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/64cd3c8f506394b558bda9376844a51db971bd60"/>
79
- <title>
80
- Add support for bare and multiple :not() functions in selectors
81
- </title>
82
- <updated>2013-06-28T10:19:36-07:00</updated>
83
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/1b2792536d87aa21bc739c14980fa103?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
84
- <author>
85
- <name>Mange</name>
86
- <uri>https://github.com/Mange</uri>
87
- </author>
88
- <content type="html">
89
- &lt;pre style='white-space:pre-wrap;width:81ex'>Add support for bare and multiple :not() functions in selectors
90
-
91
- This enables parsing of &quot;.flash:not(.error):not(.warning)&quot; and
92
- &quot;:not(p)&quot;.
93
-
94
- This entailed a huge change to the parser, but I think the parser should
95
- be a bit more robust now by not declaring :not a special case.&lt;/pre>
96
- </content>
97
- </entry>
98
- <entry>
99
- <id>tag:github.com,2008:Grit::Commit/37828ec784faf29d713225fa78585854912356cd</id>
100
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/37828ec784faf29d713225fa78585854912356cd"/>
101
- <title>
102
- Report error and stop parsing instead of silently ignoring it.
103
- </title>
104
- <updated>2013-06-27T18:46:12-07:00</updated>
105
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/2736d9750eb13425e9bf70f112753c49?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
106
- <author>
107
- <name>jvshahid</name>
108
- <uri>https://github.com/jvshahid</uri>
109
- </author>
110
- <content type="html">
111
- &lt;pre style='white-space:pre-wrap;width:81ex'>Report error and stop parsing instead of silently ignoring it.&lt;/pre>
112
- </content>
113
- </entry>
114
- <entry>
115
- <id>tag:github.com,2008:Grit::Commit/42da60e8ca58a5acc9e8c94ae5ad490589f146c6</id>
116
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/42da60e8ca58a5acc9e8c94ae5ad490589f146c6"/>
117
- <title>
118
- Merge pull request #930 from ctborg/master
119
- </title>
120
- <updated>2013-06-27T04:23:33-07:00</updated>
121
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
122
- <author>
123
- <name>injekt</name>
124
- <uri>https://github.com/injekt</uri>
125
- </author>
126
- <content type="html">
127
- &lt;pre style='white-space:pre-wrap;width:81ex'>Merge pull request #930 from ctborg/master
128
-
129
- Adds support for Solaris, OpenSolaris, or illumos.&lt;/pre>
130
- </content>
131
- </entry>
132
- <entry>
133
- <id>tag:github.com,2008:Grit::Commit/7382a6e6a66d3f80da955ebbcd82250f99321900</id>
134
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/7382a6e6a66d3f80da955ebbcd82250f99321900"/>
135
- <title>
136
- Updated CHANGELOG with latest merged pulls
137
- </title>
138
- <updated>2013-06-27T04:04:17-07:00</updated>
139
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
140
- <author>
141
- <name>injekt</name>
142
- <uri>https://github.com/injekt</uri>
143
- </author>
144
- <content type="html">
145
- &lt;pre style='white-space:pre-wrap;width:81ex'>Updated CHANGELOG with latest merged pulls&lt;/pre>
146
- </content>
147
- </entry>
148
- <entry>
149
- <id>tag:github.com,2008:Grit::Commit/3382ebc90e17f2503f4acbbdf53a931d38f3322a</id>
150
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/3382ebc90e17f2503f4acbbdf53a931d38f3322a"/>
151
- <title>
152
- Remove REE also.
153
- </title>
154
- <updated>2013-06-19T20:57:48-07:00</updated>
155
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/74f896b312b786ee75a18073941e2457?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
156
- <author>
157
- <name>knu</name>
158
- <uri>https://github.com/knu</uri>
159
- </author>
160
- <content type="html">
161
- &lt;pre style='white-space:pre-wrap;width:81ex'>Remove REE also.&lt;/pre>
162
- </content>
163
- </entry>
164
- <entry>
165
- <id>tag:github.com,2008:Grit::Commit/0c83f4027e295435680cda89a44b5e039e0e6cbb</id>
166
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/0c83f4027e295435680cda89a44b5e039e0e6cbb"/>
167
- <title>
168
- Added support for Solaris, OpenSolaris, or illumos
169
- </title>
170
- <updated>2013-06-19T07:12:50-07:00</updated>
171
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/aff9165c0ea741d027799d5694d0ceb8?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
172
- <author>
173
- <name></name>
174
- <email>cborg@oanda.com</email>
175
- </author>
176
- <content type="html">
177
- &lt;pre style='white-space:pre-wrap;width:81ex'>Added support for Solaris, OpenSolaris, or illumos&lt;/pre>
178
- </content>
179
- </entry>
180
- <entry>
181
- <id>tag:github.com,2008:Grit::Commit/fb000c51e3ba4e8730a535d38d617d34111c21ef</id>
182
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/fb000c51e3ba4e8730a535d38d617d34111c21ef"/>
183
- <title>
184
- Ensure meta_encoding checks meta charset tag (closes #919)
185
- </title>
186
- <updated>2013-06-14T06:06:26-07:00</updated>
187
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
188
- <author>
189
- <name>injekt</name>
190
- <uri>https://github.com/injekt</uri>
191
- </author>
192
- <content type="html">
193
- &lt;pre style='white-space:pre-wrap;width:81ex'>Ensure meta_encoding checks meta charset tag (closes #919)&lt;/pre>
194
- </content>
195
- </entry>
196
- <entry>
197
- <id>tag:github.com,2008:Grit::Commit/14b7dc21bbeddec1990726760e6f6cc11e71542e</id>
198
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/14b7dc21bbeddec1990726760e6f6cc11e71542e"/>
199
- <title>
200
- Updated ROADMAP
201
- </title>
202
- <updated>2013-06-14T06:00:57-07:00</updated>
203
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
204
- <author>
205
- <name>injekt</name>
206
- <uri>https://github.com/injekt</uri>
207
- </author>
208
- <content type="html">
209
- &lt;pre style='white-space:pre-wrap;width:81ex'>Updated ROADMAP&lt;/pre>
210
- </content>
211
- </entry>
212
- <entry>
213
- <id>tag:github.com,2008:Grit::Commit/d1b0afd02f8a2b783380bdfde3acfabf021a0c5a</id>
214
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/d1b0afd02f8a2b783380bdfde3acfabf021a0c5a"/>
215
- <title>
216
- Merge pull request #858 from ykzts/feature/not-only-child
217
- </title>
218
- <updated>2013-06-14T05:53:28-07:00</updated>
219
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
220
- <author>
221
- <name>injekt</name>
222
- <uri>https://github.com/injekt</uri>
223
- </author>
224
- <content type="html">
225
- &lt;pre style='white-space:pre-wrap;width:81ex'>Merge pull request #858 from ykzts/feature/not-only-child
226
-
227
- Add feature that the &#39;:only-child&#39; pseudo class should work even though it&#39;s in &#39;:not&#39; pseudo class.&lt;/pre>
228
- </content>
229
- </entry>
230
- <entry>
231
- <id>tag:github.com,2008:Grit::Commit/d24eb8508c69f2cf336f1ff1b6887fcc3b317fbc</id>
232
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/d24eb8508c69f2cf336f1ff1b6887fcc3b317fbc"/>
233
- <title>
234
- Merge pull request #886 from Mange/negative-nth
235
- </title>
236
- <updated>2013-06-14T05:50:13-07:00</updated>
237
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/9077af710bdadc972a7898e457bf6ec1?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
238
- <author>
239
- <name>injekt</name>
240
- <uri>https://github.com/injekt</uri>
241
- </author>
242
- <content type="html">
243
- &lt;pre style='white-space:pre-wrap;width:81ex'>Merge pull request #886 from Mange/negative-nth
244
-
245
- Add support for an-b in nth selectors&lt;/pre>
246
- </content>
247
- </entry>
248
- <entry>
249
- <id>tag:github.com,2008:Grit::Commit/11eaf3d3f1b84adf5225b6686119dbc6714b4009</id>
250
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/11eaf3d3f1b84adf5225b6686119dbc6714b4009"/>
251
- <title>
252
- Note 1.8 deprecation in README
253
- </title>
254
- <updated>2013-06-11T06:48:53-07:00</updated>
255
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/bd6e7860b5a891bff077aeaeb5434e60?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
256
- <author>
257
- <name>flavorjones</name>
258
- <uri>https://github.com/flavorjones</uri>
259
- </author>
260
- <content type="html">
261
- &lt;pre style='white-space:pre-wrap;width:81ex'>Note 1.8 deprecation in README&lt;/pre>
262
- </content>
263
- </entry>
264
- <entry>
265
- <id>tag:github.com,2008:Grit::Commit/82a936a0ceba0508d29cc9f6da84c5a98ae7bede</id>
266
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/82a936a0ceba0508d29cc9f6da84c5a98ae7bede"/>
267
- <title>
268
- Fix a typo and DRY with dir_config() calls.
269
- </title>
270
- <updated>2013-06-10T21:01:03-07:00</updated>
271
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/74f896b312b786ee75a18073941e2457?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
272
- <author>
273
- <name>knu</name>
274
- <uri>https://github.com/knu</uri>
275
- </author>
276
- <content type="html">
277
- &lt;pre style='white-space:pre-wrap;width:81ex'>Fix a typo and DRY with dir_config() calls.&lt;/pre>
278
- </content>
279
- </entry>
280
- <entry>
281
- <id>tag:github.com,2008:Grit::Commit/c7ef9b339054f8502e7f526b1b8054e3412cf7ba</id>
282
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/c7ef9b339054f8502e7f526b1b8054e3412cf7ba"/>
283
- <title>
284
- Iconv was for building libxml2 and not for nokogiri itself.
285
- </title>
286
- <updated>2013-06-10T17:55:20-07:00</updated>
287
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/74f896b312b786ee75a18073941e2457?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
288
- <author>
289
- <name>knu</name>
290
- <uri>https://github.com/knu</uri>
291
- </author>
292
- <content type="html">
293
- &lt;pre style='white-space:pre-wrap;width:81ex'>Iconv was for building libxml2 and not for nokogiri itself.&lt;/pre>
294
- </content>
295
- </entry>
296
- <entry>
297
- <id>tag:github.com,2008:Grit::Commit/4c1c225b9409571156430aeb5bcf89c4f9dd4812</id>
298
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/4c1c225b9409571156430aeb5bcf89c4f9dd4812"/>
299
- <title>
300
- Make sure the MRI gem is built correctly.
301
- </title>
302
- <updated>2013-06-10T07:40:39-07:00</updated>
303
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/bd6e7860b5a891bff077aeaeb5434e60?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
304
- <author>
305
- <name>flavorjones</name>
306
- <uri>https://github.com/flavorjones</uri>
307
- </author>
308
- <content type="html">
309
- &lt;pre style='white-space:pre-wrap;width:81ex'>Make sure the MRI gem is built correctly.&lt;/pre>
310
- </content>
311
- </entry>
312
- <entry>
313
- <id>tag:github.com,2008:Grit::Commit/b6100afd7a0ce17097fb3ca58ae8fe5e63522f6d</id>
314
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/b6100afd7a0ce17097fb3ca58ae8fe5e63522f6d"/>
315
- <title>
316
- Fiddling with the windows cross-compile gem logic.
317
- </title>
318
- <updated>2013-06-10T07:33:59-07:00</updated>
319
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/bd6e7860b5a891bff077aeaeb5434e60?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
320
- <author>
321
- <name>flavorjones</name>
322
- <uri>https://github.com/flavorjones</uri>
323
- </author>
324
- <content type="html">
325
- &lt;pre style='white-space:pre-wrap;width:81ex'>Fiddling with the windows cross-compile gem logic.&lt;/pre>
326
- </content>
327
- </entry>
328
- <entry>
329
- <id>tag:github.com,2008:Grit::Commit/b1483de363524c882b5e682a3d3a6e6ab5d7511b</id>
330
- <link type="text/html" rel="alternate" href="https://github.com/sparklemotion/nokogiri/commit/b1483de363524c882b5e682a3d3a6e6ab5d7511b"/>
331
- <title>
332
- build_all now uses ruby 1.9.3 to build everything.
333
- </title>
334
- <updated>2013-06-10T07:33:56-07:00</updated>
335
- <media:thumbnail height="30" width="30" url="https://secure.gravatar.com/avatar/bd6e7860b5a891bff077aeaeb5434e60?s=30&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
336
- <author>
337
- <name>flavorjones</name>
338
- <uri>https://github.com/flavorjones</uri>
339
- </author>
340
- <content type="html">
341
- &lt;pre style='white-space:pre-wrap;width:81ex'>build_all now uses ruby 1.9.3 to build everything.&lt;/pre>
342
- </content>
343
- </entry>
344
- </feed>
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
- <xsd:element name="bar"/>
4
- </xsd:schema>
data/test/files/bogus.xml DELETED
File without changes