nokogiri 1.13.6 → 1.19.2

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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +35 -0
  3. data/LICENSE-DEPENDENCIES.md +1050 -542
  4. data/LICENSE.md +1 -1
  5. data/README.md +39 -11
  6. data/dependencies.yml +23 -15
  7. data/ext/nokogiri/extconf.rb +326 -169
  8. data/ext/nokogiri/gumbo.c +87 -61
  9. data/ext/nokogiri/html4_document.c +13 -8
  10. data/ext/nokogiri/html4_element_description.c +22 -17
  11. data/ext/nokogiri/html4_entity_lookup.c +2 -2
  12. data/ext/nokogiri/html4_sax_parser.c +40 -0
  13. data/ext/nokogiri/html4_sax_parser_context.c +50 -71
  14. data/ext/nokogiri/html4_sax_push_parser.c +28 -27
  15. data/ext/nokogiri/libxml2_polyfill.c +114 -0
  16. data/ext/nokogiri/nokogiri.c +93 -77
  17. data/ext/nokogiri/nokogiri.h +58 -43
  18. data/ext/nokogiri/test_global_handlers.c +2 -2
  19. data/ext/nokogiri/xml_attr.c +4 -4
  20. data/ext/nokogiri/xml_attribute_decl.c +5 -5
  21. data/ext/nokogiri/xml_cdata.c +25 -20
  22. data/ext/nokogiri/xml_comment.c +5 -10
  23. data/ext/nokogiri/xml_document.c +294 -186
  24. data/ext/nokogiri/xml_document_fragment.c +11 -26
  25. data/ext/nokogiri/xml_dtd.c +10 -10
  26. data/ext/nokogiri/xml_element_content.c +34 -31
  27. data/ext/nokogiri/xml_element_decl.c +10 -10
  28. data/ext/nokogiri/xml_encoding_handler.c +15 -7
  29. data/ext/nokogiri/xml_entity_decl.c +6 -6
  30. data/ext/nokogiri/xml_entity_reference.c +2 -2
  31. data/ext/nokogiri/xml_namespace.c +75 -14
  32. data/ext/nokogiri/xml_node.c +481 -166
  33. data/ext/nokogiri/xml_node_set.c +161 -141
  34. data/ext/nokogiri/xml_processing_instruction.c +2 -2
  35. data/ext/nokogiri/xml_reader.c +145 -87
  36. data/ext/nokogiri/xml_relax_ng.c +73 -109
  37. data/ext/nokogiri/xml_sax_parser.c +183 -90
  38. data/ext/nokogiri/xml_sax_parser_context.c +247 -139
  39. data/ext/nokogiri/xml_sax_push_parser.c +93 -55
  40. data/ext/nokogiri/xml_schema.c +108 -166
  41. data/ext/nokogiri/xml_syntax_error.c +20 -12
  42. data/ext/nokogiri/xml_text.c +29 -18
  43. data/ext/nokogiri/xml_xpath_context.c +238 -158
  44. data/ext/nokogiri/xslt_stylesheet.c +127 -68
  45. data/gumbo-parser/Makefile +28 -0
  46. data/gumbo-parser/src/ascii.c +2 -2
  47. data/gumbo-parser/src/attribute.h +1 -1
  48. data/gumbo-parser/src/error.c +78 -46
  49. data/gumbo-parser/src/error.h +6 -2
  50. data/gumbo-parser/src/foreign_attrs.c +15 -16
  51. data/gumbo-parser/src/foreign_attrs.gperf +1 -1
  52. data/gumbo-parser/src/{gumbo.h → nokogiri_gumbo.h} +12 -2
  53. data/gumbo-parser/src/parser.c +87 -30
  54. data/gumbo-parser/src/replacement.h +1 -1
  55. data/gumbo-parser/src/string_buffer.h +1 -1
  56. data/gumbo-parser/src/string_piece.c +1 -1
  57. data/gumbo-parser/src/svg_attrs.c +2 -2
  58. data/gumbo-parser/src/svg_tags.c +2 -2
  59. data/gumbo-parser/src/tag.c +2 -1
  60. data/gumbo-parser/src/tag_lookup.c +7 -7
  61. data/gumbo-parser/src/tag_lookup.gperf +1 -0
  62. data/gumbo-parser/src/tag_lookup.h +1 -1
  63. data/gumbo-parser/src/token_buffer.h +1 -1
  64. data/gumbo-parser/src/tokenizer.c +8 -7
  65. data/gumbo-parser/src/tokenizer.h +1 -1
  66. data/gumbo-parser/src/utf8.c +1 -1
  67. data/gumbo-parser/src/utf8.h +1 -1
  68. data/gumbo-parser/src/util.c +1 -3
  69. data/gumbo-parser/src/util.h +4 -0
  70. data/gumbo-parser/src/vector.h +1 -1
  71. data/lib/nokogiri/class_resolver.rb +1 -3
  72. data/lib/nokogiri/css/node.rb +8 -4
  73. data/lib/nokogiri/css/parser.rb +6 -4
  74. data/lib/nokogiri/css/parser.y +2 -2
  75. data/lib/nokogiri/css/parser_extras.rb +6 -66
  76. data/lib/nokogiri/css/selector_cache.rb +38 -0
  77. data/lib/nokogiri/css/tokenizer.rb +4 -4
  78. data/lib/nokogiri/css/tokenizer.rex +9 -8
  79. data/lib/nokogiri/css/xpath_visitor.rb +51 -32
  80. data/lib/nokogiri/css.rb +90 -18
  81. data/lib/nokogiri/decorators/slop.rb +3 -5
  82. data/lib/nokogiri/encoding_handler.rb +57 -0
  83. data/lib/nokogiri/extension.rb +4 -3
  84. data/lib/nokogiri/html4/document.rb +46 -144
  85. data/lib/nokogiri/html4/document_fragment.rb +124 -12
  86. data/lib/nokogiri/html4/element_description_defaults.rb +1827 -365
  87. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  88. data/lib/nokogiri/html4/sax/parser.rb +23 -38
  89. data/lib/nokogiri/html4/sax/parser_context.rb +4 -9
  90. data/lib/nokogiri/html4.rb +10 -14
  91. data/lib/nokogiri/html5/builder.rb +40 -0
  92. data/lib/nokogiri/html5/document.rb +143 -35
  93. data/lib/nokogiri/html5/document_fragment.rb +138 -21
  94. data/lib/nokogiri/html5/node.rb +12 -9
  95. data/lib/nokogiri/html5.rb +179 -289
  96. data/lib/nokogiri/jruby/dependencies.rb +1 -19
  97. data/lib/nokogiri/jruby/nokogiri_jars.rb +48 -0
  98. data/lib/nokogiri/version/constant.rb +1 -1
  99. data/lib/nokogiri/version/info.rb +16 -14
  100. data/lib/nokogiri/xml/attr.rb +49 -0
  101. data/lib/nokogiri/xml/attribute_decl.rb +4 -2
  102. data/lib/nokogiri/xml/builder.rb +9 -2
  103. data/lib/nokogiri/xml/document.rb +155 -64
  104. data/lib/nokogiri/xml/document_fragment.rb +133 -19
  105. data/lib/nokogiri/xml/element_content.rb +10 -2
  106. data/lib/nokogiri/xml/element_decl.rb +4 -2
  107. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  108. data/lib/nokogiri/xml/namespace.rb +41 -0
  109. data/lib/nokogiri/xml/node/save_options.rb +14 -4
  110. data/lib/nokogiri/xml/node.rb +320 -78
  111. data/lib/nokogiri/xml/node_set.rb +99 -18
  112. data/lib/nokogiri/xml/parse_options.rb +129 -50
  113. data/lib/nokogiri/xml/pp/node.rb +34 -16
  114. data/lib/nokogiri/xml/processing_instruction.rb +2 -1
  115. data/lib/nokogiri/xml/reader.rb +57 -25
  116. data/lib/nokogiri/xml/relax_ng.rb +57 -20
  117. data/lib/nokogiri/xml/sax/document.rb +175 -84
  118. data/lib/nokogiri/xml/sax/parser.rb +116 -43
  119. data/lib/nokogiri/xml/sax/parser_context.rb +116 -8
  120. data/lib/nokogiri/xml/sax/push_parser.rb +3 -0
  121. data/lib/nokogiri/xml/sax.rb +48 -0
  122. data/lib/nokogiri/xml/schema.rb +112 -45
  123. data/lib/nokogiri/xml/searchable.rb +53 -49
  124. data/lib/nokogiri/xml/syntax_error.rb +23 -1
  125. data/lib/nokogiri/xml/xpath_context.rb +14 -3
  126. data/lib/nokogiri/xml.rb +14 -25
  127. data/lib/nokogiri/xslt/stylesheet.rb +29 -7
  128. data/lib/nokogiri/xslt.rb +78 -14
  129. data/lib/nokogiri.rb +15 -15
  130. data/lib/xsd/xmlparser/nokogiri.rb +7 -6
  131. data/patches/libxml2/0010-update-config.guess-and-config.sub-for-libxml2.patch +224 -0
  132. data/patches/libxml2/0011-rip-out-libxml2-s-libc_single_threaded-support.patch +30 -0
  133. data/patches/libxml2/0019-xpath-Use-separate-static-hash-table-for-standard-fu.patch +244 -0
  134. data/patches/libxslt/0001-update-config.guess-and-config.sub-for-libxslt.patch +224 -0
  135. data/ports/archives/libxml2-2.13.9.tar.xz +0 -0
  136. data/ports/archives/libxslt-1.1.43.tar.xz +0 -0
  137. metadata +24 -252
  138. data/ext/nokogiri/libxml2_backwards_compat.c +0 -121
  139. data/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch +0 -25
  140. data/patches/libxml2/0004-use-glibc-strlen.patch +0 -53
  141. data/patches/libxml2/0005-avoid-isnan-isinf.patch +0 -81
  142. data/patches/libxml2/0006-update-automake-files-for-arm64.patch +0 -3040
  143. data/patches/libxml2/0008-htmlParseComment-handle-abruptly-closed-comments.patch +0 -61
  144. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +0 -3037
  145. data/ports/archives/libxml2-2.9.14.tar.xz +0 -0
  146. data/ports/archives/libxslt-1.1.35.tar.xz +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 111da6f69d040f9ac5c3573b0e03cdc5e09fb27c5d8ae8bc6e0bf70079dbcdb8
4
- data.tar.gz: ccbda476379e696103cf61983df914c6b7312090b5905daccb3077f0a25e60ba
3
+ metadata.gz: 586e0f05930a3d701ef1ed6513bc946d53b49b6c65566848543aafe8790ee387
4
+ data.tar.gz: 8a6286b2e6e0ad7167a522a7103a764ccc000fa6d0b04ddcf9eb14da090032f4
5
5
  SHA512:
6
- metadata.gz: bbf69d93304d43cf38667fe66e84caf84b8ca4b89a3ec3d8139fe2f986c10bc5b971d4ed97870601be2ed92b6e748593fea02b89e7f6e2deed09c5a604d2d101
7
- data.tar.gz: 4a2a6b55fd87f8b4adb5e8687959d9f0c88334638ca2746761155b0214095ce14d648482833b8f80a59b94a54d29e26d9cae4caacda57b772fe00804de6cdabe
6
+ metadata.gz: 9c609226242cea3c824efdbdb448c6ced7d7076a01139e109e9b4d3bd004693d51a24935b753650ead3602a2a8dd322d9196099ca05e4084383b6e044ed3b564
7
+ data.tar.gz: 12e02e4eae83216fdf7d7f3b73f5117130e013e69f10795cf6198832170e09c7a59c3163a9ffa55c103ec7c22e3cf3d6fea85a3e5d61d526057d4ee8393315f9
data/Gemfile CHANGED
@@ -3,3 +3,38 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
+
7
+ group :development do
8
+ # bootstrapping
9
+ gem "rake", "13.2.1"
10
+
11
+ # building extensions
12
+ gem "rake-compiler", "1.3.1"
13
+ gem "rake-compiler-dock", "1.11.1"
14
+
15
+ # parser generator
16
+ gem "rexical", "1.0.8"
17
+
18
+ # tests
19
+ gem "minitest", "6.0.1"
20
+ gem "minitest-mock", "5.27.0"
21
+ gem "minitest-parallel_fork", "2.1.1"
22
+ gem "ruby_memcheck", "3.0.0"
23
+ gem "rubyzip", "~> 2.3.2"
24
+ gem "simplecov", "= 0.21.2"
25
+
26
+ # rubocop
27
+ unless RUBY_PLATFORM == "java"
28
+ gem "standard", "1.43.0"
29
+ gem "rubocop-minitest", "0.36.0"
30
+ gem "rubocop-packaging", "0.5.2"
31
+ gem "rubocop-rake", "0.6.0"
32
+ end
33
+ end
34
+
35
+ # If Psych doesn't build, you can disable this group locally by running
36
+ # `bundle config set --local without rdoc`
37
+ # Then re-run `bundle install`.
38
+ group :rdoc do
39
+ gem "rdoc", "7.0.3" unless RUBY_PLATFORM == "java" || ENV["CI"]
40
+ end