nokogiri 1.6.1-x86-mingw32 → 1.6.2.rc1-x86-mingw32

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 (74) hide show
  1. checksums.yaml +7 -7
  2. data/.editorconfig +17 -0
  3. data/.travis.yml +4 -6
  4. data/CHANGELOG.ja.rdoc +37 -8
  5. data/CHANGELOG.rdoc +48 -3
  6. data/Gemfile +3 -3
  7. data/Manifest.txt +57 -1
  8. data/README.ja.rdoc +22 -16
  9. data/README.rdoc +24 -19
  10. data/ROADMAP.md +1 -2
  11. data/Rakefile +161 -58
  12. data/build_all +56 -31
  13. data/dependencies.yml +3 -3
  14. data/ext/nokogiri/extconf.rb +379 -121
  15. data/ext/nokogiri/html_document.c +2 -2
  16. data/ext/nokogiri/nokogiri.c +6 -1
  17. data/ext/nokogiri/xml_document.c +5 -4
  18. data/ext/nokogiri/xml_node.c +11 -4
  19. data/ext/nokogiri/xml_reader.c +1 -1
  20. data/ext/nokogiri/xml_sax_parser_context.c +40 -0
  21. data/ext/nokogiri/xml_syntax_error.c +10 -5
  22. data/ext/nokogiri/xml_syntax_error.h +1 -1
  23. data/ext/nokogiri/xml_xpath_context.c +2 -14
  24. data/ext/nokogiri/xslt_stylesheet.c +1 -1
  25. data/lib/nokogiri.rb +31 -22
  26. data/lib/nokogiri/1.9/nokogiri.so +0 -0
  27. data/lib/nokogiri/2.0/nokogiri.so +0 -0
  28. data/lib/nokogiri/2.1/nokogiri.so +0 -0
  29. data/lib/nokogiri/css/node.rb +0 -50
  30. data/lib/nokogiri/css/parser.rb +213 -218
  31. data/lib/nokogiri/css/parser.y +21 -30
  32. data/lib/nokogiri/css/xpath_visitor.rb +62 -14
  33. data/lib/nokogiri/html/document.rb +97 -18
  34. data/lib/nokogiri/html/sax/parser.rb +2 -2
  35. data/lib/nokogiri/version.rb +1 -1
  36. data/lib/nokogiri/xml/builder.rb +1 -1
  37. data/lib/nokogiri/xml/document.rb +2 -2
  38. data/lib/nokogiri/xml/dtd.rb +10 -0
  39. data/lib/nokogiri/xml/node.rb +26 -1
  40. data/lib/nokogiri/xml/sax/parser.rb +1 -1
  41. data/suppressions/README.txt +1 -0
  42. data/suppressions/nokogiri_ree-1.8.7.358.supp +61 -0
  43. data/suppressions/nokogiri_ruby-1.8.7.370.supp +0 -0
  44. data/suppressions/nokogiri_ruby-1.9.2.320.supp +28 -0
  45. data/suppressions/nokogiri_ruby-1.9.3.327.supp +28 -0
  46. data/test/css/test_nthiness.rb +65 -2
  47. data/test/css/test_parser.rb +27 -10
  48. data/test/css/test_tokenizer.rb +1 -1
  49. data/test/css/test_xpath_visitor.rb +6 -1
  50. data/test/files/atom.xml +344 -0
  51. data/test/files/shift_jis_no_charset.html +9 -0
  52. data/test/helper.rb +10 -0
  53. data/test/html/test_document.rb +74 -7
  54. data/test/html/test_document_encoding.rb +10 -0
  55. data/test/html/test_document_fragment.rb +3 -3
  56. data/test/namespaces/test_namespaces_in_cloned_doc.rb +31 -0
  57. data/test/test_nokogiri.rb +6 -0
  58. data/test/test_reader.rb +7 -4
  59. data/test/test_xslt_transforms.rb +25 -0
  60. data/test/xml/sax/test_parser.rb +16 -0
  61. data/test/xml/sax/test_parser_context.rb +9 -0
  62. data/test/xml/test_builder.rb +9 -0
  63. data/test/xml/test_c14n.rb +12 -2
  64. data/test/xml/test_document.rb +66 -0
  65. data/test/xml/test_document_fragment.rb +5 -0
  66. data/test/xml/test_dtd.rb +84 -0
  67. data/test/xml/test_entity_reference.rb +3 -3
  68. data/test/xml/test_node.rb +21 -3
  69. data/test/xml/test_node_attributes.rb +17 -0
  70. data/test/xml/test_schema.rb +26 -0
  71. data/test/xml/test_xpath.rb +81 -0
  72. metadata +235 -176
  73. data/lib/nokogiri/nokogiri.rb +0 -1
  74. data/tasks/cross_compile.rb +0 -134
@@ -76,6 +76,11 @@ module Nokogiri
76
76
  assert_instance_of klass, doc
77
77
  end
78
78
 
79
+ def test_unparented_text_node_parse
80
+ fragment = Nokogiri::XML::DocumentFragment.parse("foo")
81
+ fragment.children.after("<bar/>")
82
+ end
83
+
79
84
  def test_xml_fragment
80
85
  fragment = Nokogiri::XML.fragment("<div>a</div>")
81
86
  assert_equal "<div>a</div>", fragment.to_s
@@ -19,6 +19,90 @@ module Nokogiri
19
19
  assert_equal 'bar', dtd.external_id
20
20
  end
21
21
 
22
+ def test_html_dtd
23
+ {
24
+ 'MathML 2.0' => [
25
+ '<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">',
26
+ false,
27
+ false,
28
+ ],
29
+ 'HTML 2.0' => [
30
+ '<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">',
31
+ true,
32
+ false,
33
+ ],
34
+ 'HTML 3.2' => [
35
+ '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">',
36
+ true,
37
+ false,
38
+ ],
39
+ 'XHTML Basic 1.0' => [
40
+ '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">',
41
+ true,
42
+ false,
43
+ ],
44
+ 'XHTML 1.0 Strict' => [
45
+ '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
46
+ true,
47
+ false,
48
+ ],
49
+ 'XHTML + MathML + SVG Profile (XHTML as the host language)' => [
50
+ '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">',
51
+ true,
52
+ false,
53
+ ],
54
+ 'XHTML + MathML + SVG Profile (Using SVG as the host)' => [
55
+ '<!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">',
56
+ false,
57
+ false,
58
+ ],
59
+ 'CHTML 1.0' => [
60
+ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN">',
61
+ true,
62
+ false,
63
+ ],
64
+ 'HTML 4.01 Strict' => [
65
+ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
66
+ true,
67
+ false,
68
+ ],
69
+ 'HTML 4.01 Transitional' => [
70
+ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
71
+ true,
72
+ false,
73
+ ],
74
+ 'HTML 4.01 Frameset' => [
75
+ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">',
76
+ true,
77
+ false,
78
+ ],
79
+ 'HTML 5' => [
80
+ '<!DOCTYPE html>',
81
+ true,
82
+ true,
83
+ ],
84
+ 'HTML 5 legacy compatible' => [
85
+ '<!DOCTYPE HTML SYSTEM "about:legacy-compat">',
86
+ true,
87
+ true,
88
+ ],
89
+ }.each { |name, (dtd_str, html_p, html5_p)|
90
+ doc = Nokogiri(dtd_str)
91
+ dtd = doc.internal_subset
92
+ assert_instance_of Nokogiri::XML::DTD, dtd, name
93
+ if html_p
94
+ assert_send [dtd, :html_dtd?], name
95
+ else
96
+ assert_not_send [dtd, :html_dtd?], name
97
+ end
98
+ if html5_p
99
+ assert_send [dtd, :html5_dtd?], name
100
+ else
101
+ assert_not_send [dtd, :html5_dtd?], name
102
+ end
103
+ }
104
+ end
105
+
22
106
  def test_content
23
107
  assert_raise NoMethodError do
24
108
  @dtd.content
@@ -233,10 +233,10 @@ EOF
233
233
 
234
234
  test_relative_and_absolute_path :test_reader_entity_reference_without_dtdload do
235
235
  html = File.read xml_document
236
+ reader = Nokogiri::XML::Reader html, path do |cfg|
237
+ cfg.default_xml
238
+ end
236
239
  assert_raises(Nokogiri::XML::SyntaxError) do
237
- reader = Nokogiri::XML::Reader html, path do |cfg|
238
- cfg.default_xml
239
- end
240
240
  reader.each { |n| n }
241
241
  end
242
242
  end
@@ -133,6 +133,12 @@ module Nokogiri
133
133
  node.parse('<baz><</baz>')
134
134
  end
135
135
 
136
+ def test_parse_with_unparented_text_context_node
137
+ doc = XML::Document.new
138
+ elem = XML::Text.new("foo", doc)
139
+ elem.parse("<bar/>")
140
+ end
141
+
136
142
  def test_subclass_dup
137
143
  subclass = Class.new(Nokogiri::XML::Node)
138
144
  node = subclass.new('foo', @xml).dup
@@ -1006,16 +1012,28 @@ EOXML
1006
1012
  <y xmlns:c='http://bazz.com/'>
1007
1013
  <a:div>hello a</a:div>
1008
1014
  <b:div>hello b</b:div>
1009
- <c:div>hello c</c:div>
1010
- <div>hello moon</div>
1015
+ <c:div x="1" b:y="2">hello c</c:div>
1016
+ <div x="1" xmlns="http://ns.example.com/d"/>
1017
+ <div x="1">hello moon</div>
1011
1018
  </y>
1012
1019
  </x>
1013
1020
  EOF
1014
1021
  set = xml.search("//y/*")
1015
1022
  assert_equal "a", set[0].namespace.prefix
1023
+ assert_equal 'http://foo.com/', set[0].namespace.href
1016
1024
  assert_equal "b", set[1].namespace.prefix
1025
+ assert_equal 'http://bar.com/', set[1].namespace.href
1017
1026
  assert_equal "c", set[2].namespace.prefix
1018
- assert_equal nil, set[3].namespace
1027
+ assert_equal 'http://bazz.com/', set[2].namespace.href
1028
+ assert_equal nil, set[3].namespace.prefix # default namespace
1029
+ assert_equal 'http://ns.example.com/d', set[3].namespace.href
1030
+ assert_equal nil, set[4].namespace # no namespace
1031
+
1032
+ assert_equal 'b', set[2].attributes['y'].namespace.prefix
1033
+ assert_equal 'http://bar.com/', set[2].attributes['y'].namespace.href
1034
+ assert_equal nil, set[2].attributes['x'].namespace
1035
+ assert_equal nil, set[3].attributes['x'].namespace
1036
+ assert_equal nil, set[4].attributes['x'].namespace
1019
1037
  end
1020
1038
 
1021
1039
  if Nokogiri.uses_libxml?
@@ -59,6 +59,23 @@ module Nokogiri
59
59
  assert_equal [], node.namespace_definitions.map(&:prefix)
60
60
  end
61
61
 
62
+ def test_append_child_element_with_prefixed_attributes
63
+ doc = Nokogiri::XML "<root/>"
64
+ node = doc.root
65
+
66
+ assert_equal [], node.namespace_definitions.map(&:prefix)
67
+
68
+
69
+ # assert_nothing_raised do
70
+ child_node = Nokogiri::XML::Node.new 'foo', doc
71
+ child_node['xml:lang'] = 'en-GB'
72
+
73
+ node << child_node
74
+ # end
75
+
76
+ assert_equal [], child_node.namespace_definitions.map(&:prefix)
77
+ end
78
+
62
79
  def test_namespace_key?
63
80
  doc = Nokogiri::XML <<-eoxml
64
81
  <root xmlns:tlm='http://tenderlovemaking.com/'>
@@ -14,6 +14,32 @@ module Nokogiri
14
14
  assert_instance_of Nokogiri::XML::Schema, xsd
15
15
  end
16
16
 
17
+ def test_invalid_schema_do_not_raise_exceptions
18
+ xsd = Nokogiri::XML::Schema.new <<EOF
19
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
20
+ <xs:group name="foo1">
21
+ <xs:sequence>
22
+ <xs:element name="bar" type="xs:boolean" />
23
+ </xs:sequence>
24
+ </xs:group>
25
+ <xs:group name="foo2">
26
+ <xs:sequence>
27
+ <xs:element name="bar" type="xs:string" />
28
+ </xs:sequence>
29
+ </xs:group>
30
+ <xs:element name="foo">
31
+ <xs:complexType>
32
+ <xs:choice>
33
+ <xs:group ref="foo1"/>
34
+ <xs:group ref="foo2"/>
35
+ </xs:choice>
36
+ </xs:complexType>
37
+ </xs:element>
38
+ </xs:schema>
39
+ EOF
40
+ assert_instance_of Nokogiri::XML::Schema, xsd
41
+ end
42
+
17
43
  def test_schema_from_document_node
18
44
  doc = Nokogiri::XML(File.open(PO_SCHEMA_FILE))
19
45
  assert doc
@@ -132,6 +132,45 @@ module Nokogiri
132
132
  assert_equal(['asdf'] * set.length, @handler.things)
133
133
  end
134
134
 
135
+ def parse_params node
136
+ params={}
137
+ node.xpath('./param').each do |p|
138
+ subparams = parse_params p
139
+ if(subparams.length > 0)
140
+ if(not params.has_key? p.attributes['name'].value)
141
+ params[p.attributes['name'].value] = subparams
142
+ else
143
+ if(params[p.attributes['name'].value].is_a? Array)
144
+ params[p.attributes['name'].value] << subparams
145
+ else
146
+ value = params[p.attributes['name'].value]
147
+ params[p.attributes['name'].value] = [value,subparams]
148
+ end
149
+ end
150
+ else
151
+ params[p.attributes['name'].value]=p.text
152
+ end
153
+ end
154
+ params
155
+ end
156
+
157
+ # issue #741 (xpath() around 10x slower in JRuby)
158
+ def test_slow_jruby_xpath
159
+ doc = Nokogiri::XML(File.open(XPATH_FILE))
160
+ start = Time.now
161
+
162
+ doc.xpath('.//category').each do |c|
163
+ c.xpath('programformats/programformat').each do |p|
164
+ p.xpath('./modules/module').each do |m|
165
+ parse_params m
166
+ end
167
+ end
168
+ end
169
+ stop = Time.now
170
+ elapsed_time = stop - start
171
+ assert elapsed_time < 10, "XPath is taking too long"
172
+ end
173
+
135
174
  def test_custom_xpath_function_returns_string
136
175
  if Nokogiri.uses_libxml?
137
176
  result = @xml.xpath('thing("asdf")', @handler)
@@ -290,6 +329,48 @@ END
290
329
  onix = xml_doc.children.first
291
330
  assert_equal 'a', onix.at_xpath('xmlns:Product').at_xpath('xmlns:RecordReference').text
292
331
  end
332
+
333
+ def test_xpath_after_attribute_change
334
+ xml_string = %q{<?xml version="1.0" encoding="UTF-8"?>
335
+ <mods version="3.0" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd" xmlns="http://www.loc.gov/mods/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
336
+ <titleInfo>
337
+ <nonSort>THE</nonSort>
338
+ <title xml:lang="eng">ARTICLE TITLE HYDRANGEA ARTICLE 1</title>
339
+ <subTitle>SUBTITLE</subTitle>
340
+ </titleInfo>
341
+ <titleInfo lang="finnish">
342
+ <title>Artikkelin otsikko Hydrangea artiklan 1</title>
343
+ </titleInfo>
344
+ </mods>}
345
+
346
+ xml_doc = Nokogiri::XML(xml_string)
347
+ ns_hash = {'mods'=>'http://www.loc.gov/mods/v3'}
348
+ node = xml_doc.at_xpath('//mods:titleInfo[1]',ns_hash)
349
+ node['lang'] = 'english'
350
+ assert_equal 1, xml_doc.xpath('//mods:titleInfo[1]/@lang',ns_hash).length
351
+ assert_equal 'english', xml_doc.xpath('//mods:titleInfo[1]/@lang',ns_hash).first.value
352
+ end
353
+
354
+ def test_xpath_after_element_removal
355
+ xml_string = %q{<?xml version="1.0" encoding="UTF-8"?>
356
+ <mods version="3.0" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd" xmlns="http://www.loc.gov/mods/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
357
+ <titleInfo>
358
+ <nonSort>THE</nonSort>
359
+ <title xml:lang="eng">ARTICLE TITLE HYDRANGEA ARTICLE 1</title>
360
+ <subTitle>SUBTITLE</subTitle>
361
+ </titleInfo>
362
+ <titleInfo lang="finnish">
363
+ <title>Artikkelin otsikko Hydrangea artiklan 1</title>
364
+ </titleInfo>
365
+ </mods>}
366
+
367
+ xml_doc = Nokogiri::XML(xml_string)
368
+ ns_hash = {'mods'=>'http://www.loc.gov/mods/v3'}
369
+ node = xml_doc.at_xpath('//mods:titleInfo[1]',ns_hash)
370
+ node.remove
371
+ assert_equal 1, xml_doc.xpath('//mods:titleInfo',ns_hash).length
372
+ assert_equal 'finnish', xml_doc.xpath('//mods:titleInfo[1]/@lang',ns_hash).first.value
373
+ end
293
374
  end
294
375
  end
295
376
  end
metadata CHANGED
@@ -1,153 +1,203 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
- version: !ruby/object:Gem::Version
4
- version: 1.6.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.6.2.rc1
5
5
  platform: x86-mingw32
6
- authors:
6
+ authors:
7
7
  - Aaron Patterson
8
8
  - Mike Dalessio
9
9
  - Yoko Harada
10
10
  - Tim Elliott
11
+ - Akinori MUSHA
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
-
15
- date: 2013-12-14 00:00:00 Z
16
- dependencies:
17
- - !ruby/object:Gem::Dependency
18
- version_requirements: &id001 !ruby/object:Gem::Requirement
19
- requirements:
15
+ date: 2014-04-06 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: mini_portile
19
+ requirement: !ruby/object:Gem::Requirement
20
+ requirements:
20
21
  - - ~>
21
- - !ruby/object:Gem::Version
22
- version: 0.5.0
22
+ - !ruby/object:Gem::Version
23
+ version: 0.5.2
23
24
  type: :runtime
24
- name: mini_portile
25
25
  prerelease: false
26
- requirement: *id001
27
- - !ruby/object:Gem::Dependency
28
- version_requirements: &id002 !ruby/object:Gem::Requirement
29
- requirements:
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
30
28
  - - ~>
31
- - !ruby/object:Gem::Version
32
- version: "4.0"
33
- type: :development
29
+ - !ruby/object:Gem::Version
30
+ version: 0.5.2
31
+ - !ruby/object:Gem::Dependency
34
32
  name: rdoc
35
- prerelease: false
36
- requirement: *id002
37
- - !ruby/object:Gem::Dependency
38
- version_requirements: &id003 !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: "1.1"
33
+ requirement: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '4.0'
43
38
  type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: '4.0'
45
+ - !ruby/object:Gem::Dependency
44
46
  name: hoe-bundler
47
+ requirement: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - '>='
50
+ - !ruby/object:Gem::Version
51
+ version: '1.1'
52
+ type: :development
45
53
  prerelease: false
46
- requirement: *id003
47
- - !ruby/object:Gem::Dependency
48
- version_requirements: &id004 !ruby/object:Gem::Requirement
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '1.1'
59
+ - !ruby/object:Gem::Dependency
60
+ name: hoe-debugging
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - '>='
64
+ - !ruby/object:Gem::Version
52
65
  version: 1.0.3
53
66
  type: :development
54
- name: hoe-debugging
55
67
  prerelease: false
56
- requirement: *id004
57
- - !ruby/object:Gem::Dependency
58
- version_requirements: &id005 !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: "1.0"
63
- type: :development
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - '>='
71
+ - !ruby/object:Gem::Version
72
+ version: 1.0.3
73
+ - !ruby/object:Gem::Dependency
64
74
  name: hoe-gemspec
65
- prerelease: false
66
- requirement: *id005
67
- - !ruby/object:Gem::Dependency
68
- version_requirements: &id006 !ruby/object:Gem::Requirement
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: "1.4"
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '1.0'
73
80
  type: :development
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '1.0'
87
+ - !ruby/object:Gem::Dependency
74
88
  name: hoe-git
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '1.4'
94
+ type: :development
75
95
  prerelease: false
76
- requirement: *id006
77
- - !ruby/object:Gem::Dependency
78
- version_requirements: &id007 !ruby/object:Gem::Requirement
79
- requirements:
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '1.4'
101
+ - !ruby/object:Gem::Dependency
102
+ name: minitest
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
80
105
  - - ~>
81
- - !ruby/object:Gem::Version
106
+ - !ruby/object:Gem::Version
82
107
  version: 2.2.2
83
108
  type: :development
84
- name: minitest
85
109
  prerelease: false
86
- requirement: *id007
87
- - !ruby/object:Gem::Dependency
88
- version_requirements: &id008 !ruby/object:Gem::Requirement
89
- requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: "0.9"
93
- type: :development
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ~>
113
+ - !ruby/object:Gem::Version
114
+ version: 2.2.2
115
+ - !ruby/object:Gem::Dependency
94
116
  name: rake
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0.9'
122
+ type: :development
95
123
  prerelease: false
96
- requirement: *id008
97
- - !ruby/object:Gem::Dependency
98
- version_requirements: &id009 !ruby/object:Gem::Requirement
99
- requirements:
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0.9'
129
+ - !ruby/object:Gem::Dependency
130
+ name: rake-compiler
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
100
133
  - - ~>
101
- - !ruby/object:Gem::Version
102
- version: 0.8.0
134
+ - !ruby/object:Gem::Version
135
+ version: 0.9.2
103
136
  type: :development
104
- name: rake-compiler
105
137
  prerelease: false
106
- requirement: *id009
107
- - !ruby/object:Gem::Dependency
108
- version_requirements: &id010 !ruby/object:Gem::Requirement
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: 0.9.2
143
+ - !ruby/object:Gem::Dependency
144
+ name: racc
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - '>='
148
+ - !ruby/object:Gem::Version
112
149
  version: 1.4.6
113
150
  type: :development
114
- name: racc
115
151
  prerelease: false
116
- requirement: *id010
117
- - !ruby/object:Gem::Dependency
118
- version_requirements: &id011 !ruby/object:Gem::Requirement
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - '>='
155
+ - !ruby/object:Gem::Version
156
+ version: 1.4.6
157
+ - !ruby/object:Gem::Dependency
158
+ name: rexical
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - '>='
162
+ - !ruby/object:Gem::Version
122
163
  version: 1.0.5
123
164
  type: :development
124
- name: rexical
125
165
  prerelease: false
126
- requirement: *id011
127
- - !ruby/object:Gem::Dependency
128
- version_requirements: &id012 !ruby/object:Gem::Requirement
129
- requirements:
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - '>='
169
+ - !ruby/object:Gem::Version
170
+ version: 1.0.5
171
+ - !ruby/object:Gem::Dependency
172
+ name: hoe
173
+ requirement: !ruby/object:Gem::Requirement
174
+ requirements:
130
175
  - - ~>
131
- - !ruby/object:Gem::Version
132
- version: "3.7"
176
+ - !ruby/object:Gem::Version
177
+ version: '3.7'
133
178
  type: :development
134
- name: hoe
135
179
  prerelease: false
136
- requirement: *id012
137
- description: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's\n\
138
- many features is the ability to search documents via XPath or CSS3 selectors.\n\n\
139
- XML is like violence - if it doesn\xE2\x80\x99t solve your problems, you are not using\n\
140
- enough of it."
141
- email:
180
+ version_requirements: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ~>
183
+ - !ruby/object:Gem::Version
184
+ version: '3.7'
185
+ description: |-
186
+ Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's
187
+ many features is the ability to search documents via XPath or CSS3 selectors.
188
+
189
+ XML is like violence - if it doesn’t solve your problems, you are not using
190
+ enough of it.
191
+ email:
142
192
  - aaronp@rubyforge.org
143
193
  - mike.dalessio@gmail.com
144
194
  - yokolet@gmail.com
145
195
  - tle@holymonkey.com
146
- executables:
196
+ - knu@idaemons.org
197
+ executables:
147
198
  - nokogiri
148
199
  extensions: []
149
-
150
- extra_rdoc_files:
200
+ extra_rdoc_files:
151
201
  - CHANGELOG.ja.rdoc
152
202
  - CHANGELOG.rdoc
153
203
  - C_CODING_STYLE.rdoc
@@ -157,6 +207,7 @@ extra_rdoc_files:
157
207
  - ROADMAP.md
158
208
  - STANDARD_RESPONSES.md
159
209
  - Y_U_NO_GEMSPEC.md
210
+ - suppressions/README.txt
160
211
  - ext/nokogiri/html_document.c
161
212
  - ext/nokogiri/html_element_description.c
162
213
  - ext/nokogiri/html_entity_lookup.c
@@ -191,8 +242,9 @@ extra_rdoc_files:
191
242
  - ext/nokogiri/xml_text.c
192
243
  - ext/nokogiri/xml_xpath_context.c
193
244
  - ext/nokogiri/xslt_stylesheet.c
194
- files:
245
+ files:
195
246
  - .autotest
247
+ - .editorconfig
196
248
  - .gemtest
197
249
  - .travis.yml
198
250
  - CHANGELOG.ja.rdoc
@@ -280,6 +332,9 @@ files:
280
332
  - ext/nokogiri/xslt_stylesheet.c
281
333
  - ext/nokogiri/xslt_stylesheet.h
282
334
  - lib/nokogiri.rb
335
+ - lib/nokogiri/1.9/nokogiri.so
336
+ - lib/nokogiri/2.0/nokogiri.so
337
+ - lib/nokogiri/2.1/nokogiri.so
283
338
  - lib/nokogiri/css.rb
284
339
  - lib/nokogiri/css/node.rb
285
340
  - lib/nokogiri/css/parser.rb
@@ -340,7 +395,11 @@ files:
340
395
  - lib/nokogiri/xslt.rb
341
396
  - lib/nokogiri/xslt/stylesheet.rb
342
397
  - lib/xsd/xmlparser/nokogiri.rb
343
- - tasks/cross_compile.rb
398
+ - suppressions/README.txt
399
+ - suppressions/nokogiri_ree-1.8.7.358.supp
400
+ - suppressions/nokogiri_ruby-1.8.7.370.supp
401
+ - suppressions/nokogiri_ruby-1.9.2.320.supp
402
+ - suppressions/nokogiri_ruby-1.9.3.327.supp
344
403
  - tasks/nokogiri.org.rb
345
404
  - tasks/test.rb
346
405
  - test/css/test_nthiness.rb
@@ -351,6 +410,7 @@ files:
351
410
  - test/files/2ch.html
352
411
  - test/files/address_book.rlx
353
412
  - test/files/address_book.xml
413
+ - test/files/atom.xml
354
414
  - test/files/bar/bar.xsd
355
415
  - test/files/bogus.xml
356
416
  - test/files/dont_hurt_em_why.xml
@@ -369,6 +429,7 @@ files:
369
429
  - test/files/saml/xmldsig_schema.xsd
370
430
  - test/files/shift_jis.html
371
431
  - test/files/shift_jis.xml
432
+ - test/files/shift_jis_no_charset.html
372
433
  - test/files/snuggles.xml
373
434
  - test/files/staff.dtd
374
435
  - test/files/staff.xml
@@ -393,6 +454,7 @@ files:
393
454
  - test/html/test_node_encoding.rb
394
455
  - test/namespaces/test_additional_namespaces_in_builder_doc.rb
395
456
  - test/namespaces/test_namespaces_in_builder_doc.rb
457
+ - test/namespaces/test_namespaces_in_cloned_doc.rb
396
458
  - test/namespaces/test_namespaces_in_created_doc.rb
397
459
  - test/namespaces/test_namespaces_in_parsed_doc.rb
398
460
  - test/test_convert_xpath.rb
@@ -443,101 +505,98 @@ files:
443
505
  - test/xslt/test_custom_functions.rb
444
506
  - test/xslt/test_exception_handling.rb
445
507
  - test_all
446
- - lib/nokogiri/nokogiri.rb
447
- - lib/nokogiri/1.9/nokogiri.so
448
- - lib/nokogiri/2.0/nokogiri.so
449
508
  homepage: http://nokogiri.org
450
- licenses:
509
+ licenses:
451
510
  - MIT
452
511
  metadata: {}
453
-
454
- post_install_message:
455
- rdoc_options:
512
+ post_install_message: |
513
+ Nokogiri is built with the packaged libraries: libxml2-2.8.0, libxslt-1.1.28, zlib-1.2.8, libiconv-1.14.
514
+ rdoc_options:
456
515
  - --main
457
516
  - README.rdoc
458
- require_paths:
517
+ require_paths:
459
518
  - lib
460
- required_ruby_version: !ruby/object:Gem::Requirement
461
- requirements:
462
- - - ">="
463
- - !ruby/object:Gem::Version
519
+ required_ruby_version: !ruby/object:Gem::Requirement
520
+ requirements:
521
+ - - '>='
522
+ - !ruby/object:Gem::Version
464
523
  version: 1.9.2
465
- required_rubygems_version: !ruby/object:Gem::Requirement
466
- requirements:
467
- - - ">="
468
- - !ruby/object:Gem::Version
469
- version: "0"
524
+ required_rubygems_version: !ruby/object:Gem::Requirement
525
+ requirements:
526
+ - - '>'
527
+ - !ruby/object:Gem::Version
528
+ version: 1.3.1
470
529
  requirements: []
471
-
472
530
  rubyforge_project: nokogiri
473
- rubygems_version: 2.0.13
531
+ rubygems_version: 2.2.2
474
532
  signing_key:
475
533
  specification_version: 4
476
- summary: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser"
477
- test_files:
478
- - test/decorators/test_slop.rb
479
- - test/test_encoding_handler.rb
480
- - test/css/test_parser.rb
481
- - test/css/test_nthiness.rb
482
- - test/css/test_tokenizer.rb
483
- - test/css/test_xpath_visitor.rb
484
- - test/xslt/test_exception_handling.rb
485
- - test/xslt/test_custom_functions.rb
486
- - test/test_reader.rb
487
- - test/xml/test_comment.rb
488
- - test/xml/test_unparented_node.rb
489
- - test/xml/test_processing_instruction.rb
490
- - test/xml/test_node_attributes.rb
491
- - test/xml/test_xpath.rb
492
- - test/xml/test_node_encoding.rb
534
+ summary: Nokogiri () is an HTML, XML, SAX, and Reader parser
535
+ test_files:
536
+ - test/test_nokogiri.rb
537
+ - test/test_memory_leak.rb
538
+ - test/test_convert_xpath.rb
539
+ - test/xml/test_element_content.rb
540
+ - test/xml/test_builder.rb
493
541
  - test/xml/test_element_decl.rb
494
- - test/xml/test_entity_decl.rb
495
- - test/xml/test_namespace.rb
496
- - test/xml/test_cdata.rb
497
- - test/xml/test_node_inheritance.rb
498
- - test/xml/test_entity_reference.rb
499
- - test/xml/test_text.rb
500
- - test/xml/test_reader_encoding.rb
501
- - test/xml/test_dtd.rb
502
- - test/xml/test_xinclude.rb
503
542
  - test/xml/test_parse_options.rb
504
- - test/xml/test_schema.rb
505
- - test/xml/test_element_content.rb
506
- - test/xml/test_document.rb
507
- - test/xml/test_relax_ng.rb
508
- - test/xml/test_c14n.rb
509
543
  - test/xml/test_dtd_encoding.rb
510
- - test/xml/test_syntax_error.rb
511
544
  - test/xml/test_attribute_decl.rb
512
- - test/xml/test_node_set.rb
513
- - test/xml/test_builder.rb
514
- - test/xml/sax/test_parser.rb
515
- - test/xml/sax/test_push_parser.rb
516
- - test/xml/sax/test_parser_context.rb
517
- - test/xml/test_document_encoding.rb
518
- - test/xml/test_attr.rb
545
+ - test/xml/test_cdata.rb
519
546
  - test/xml/test_document_fragment.rb
520
- - test/xml/test_node.rb
547
+ - test/xml/test_dtd.rb
521
548
  - test/xml/test_node_reparenting.rb
549
+ - test/xml/test_c14n.rb
550
+ - test/xml/test_node_inheritance.rb
551
+ - test/xml/test_schema.rb
522
552
  - test/xml/node/test_save_options.rb
523
553
  - test/xml/node/test_subclass.rb
554
+ - test/xml/test_processing_instruction.rb
555
+ - test/xml/test_attr.rb
556
+ - test/xml/test_namespace.rb
557
+ - test/xml/test_relax_ng.rb
558
+ - test/xml/test_xpath.rb
559
+ - test/xml/test_reader_encoding.rb
560
+ - test/xml/test_node_encoding.rb
561
+ - test/xml/test_node_attributes.rb
562
+ - test/xml/test_text.rb
563
+ - test/xml/test_document.rb
564
+ - test/xml/test_entity_reference.rb
565
+ - test/xml/test_node.rb
566
+ - test/xml/test_document_encoding.rb
567
+ - test/xml/test_unparented_node.rb
568
+ - test/xml/test_syntax_error.rb
569
+ - test/xml/test_entity_decl.rb
570
+ - test/xml/test_comment.rb
571
+ - test/xml/sax/test_parser.rb
572
+ - test/xml/sax/test_parser_context.rb
573
+ - test/xml/sax/test_push_parser.rb
574
+ - test/xml/test_node_set.rb
575
+ - test/xml/test_xinclude.rb
524
576
  - test/test_css_cache.rb
525
- - test/test_soap4r_sax.rb
577
+ - test/xslt/test_exception_handling.rb
578
+ - test/xslt/test_custom_functions.rb
579
+ - test/decorators/test_slop.rb
580
+ - test/html/test_builder.rb
581
+ - test/html/test_document_fragment.rb
582
+ - test/html/test_named_characters.rb
583
+ - test/html/test_element_description.rb
526
584
  - test/html/test_node_encoding.rb
527
585
  - test/html/test_document.rb
528
- - test/html/test_named_characters.rb
529
- - test/html/test_builder.rb
586
+ - test/html/test_node.rb
587
+ - test/html/test_document_encoding.rb
530
588
  - test/html/sax/test_parser.rb
531
589
  - test/html/sax/test_parser_context.rb
532
- - test/html/test_document_encoding.rb
533
- - test/html/test_element_description.rb
534
- - test/html/test_document_fragment.rb
535
- - test/html/test_node.rb
536
- - test/test_memory_leak.rb
537
- - test/test_convert_xpath.rb
538
- - test/namespaces/test_namespaces_in_builder_doc.rb
590
+ - test/test_xslt_transforms.rb
591
+ - test/css/test_tokenizer.rb
592
+ - test/css/test_parser.rb
593
+ - test/css/test_nthiness.rb
594
+ - test/css/test_xpath_visitor.rb
595
+ - test/test_encoding_handler.rb
596
+ - test/namespaces/test_namespaces_in_parsed_doc.rb
597
+ - test/namespaces/test_namespaces_in_cloned_doc.rb
539
598
  - test/namespaces/test_namespaces_in_created_doc.rb
540
599
  - test/namespaces/test_additional_namespaces_in_builder_doc.rb
541
- - test/namespaces/test_namespaces_in_parsed_doc.rb
542
- - test/test_xslt_transforms.rb
543
- - test/test_nokogiri.rb
600
+ - test/namespaces/test_namespaces_in_builder_doc.rb
601
+ - test/test_soap4r_sax.rb
602
+ - test/test_reader.rb