nokogiri 1.5.0 → 1.5.1.rc1

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 (61) hide show
  1. data/CHANGELOG.ja.rdoc +39 -12
  2. data/CHANGELOG.rdoc +28 -0
  3. data/C_CODING_STYLE.rdoc +27 -0
  4. data/Manifest.txt +4 -0
  5. data/README.rdoc +11 -7
  6. data/Rakefile +42 -29
  7. data/bin/nokogiri +10 -2
  8. data/ext/nokogiri/extconf.rb +9 -1
  9. data/ext/nokogiri/html_document.c +16 -0
  10. data/ext/nokogiri/html_sax_parser_context.c +59 -37
  11. data/ext/nokogiri/html_sax_push_parser.c +87 -0
  12. data/ext/nokogiri/html_sax_push_parser.h +9 -0
  13. data/ext/nokogiri/nokogiri.c +6 -8
  14. data/ext/nokogiri/nokogiri.h +3 -0
  15. data/ext/nokogiri/xml_document.c +101 -3
  16. data/ext/nokogiri/xml_document.h +3 -3
  17. data/ext/nokogiri/xml_node.c +150 -58
  18. data/ext/nokogiri/xml_node_set.c +169 -120
  19. data/ext/nokogiri/xml_node_set.h +5 -0
  20. data/ext/nokogiri/xml_sax_parser_context.c +64 -41
  21. data/ext/nokogiri/xml_text.c +2 -0
  22. data/ext/nokogiri/xml_xpath_context.c +30 -24
  23. data/ext/nokogiri/xslt_stylesheet.c +62 -16
  24. data/ext/nokogiri/xslt_stylesheet.h +5 -0
  25. data/lib/nokogiri/css/parser.rb +165 -159
  26. data/lib/nokogiri/css/parser.y +6 -3
  27. data/lib/nokogiri/css/tokenizer.rb +1 -1
  28. data/lib/nokogiri/css/tokenizer.rex +1 -1
  29. data/lib/nokogiri/html.rb +1 -0
  30. data/lib/nokogiri/html/document.rb +82 -42
  31. data/lib/nokogiri/html/sax/push_parser.rb +16 -0
  32. data/lib/nokogiri/version.rb +1 -1
  33. data/lib/nokogiri/xml.rb +6 -0
  34. data/lib/nokogiri/xml/builder.rb +7 -1
  35. data/lib/nokogiri/xml/document.rb +32 -17
  36. data/lib/nokogiri/xml/document_fragment.rb +6 -1
  37. data/lib/nokogiri/xml/node.rb +40 -9
  38. data/lib/nokogiri/xslt.rb +5 -1
  39. data/tasks/cross_compile.rb +1 -0
  40. data/tasks/nokogiri.org.rb +6 -0
  41. data/tasks/test.rb +1 -0
  42. data/test/css/test_xpath_visitor.rb +6 -0
  43. data/test/helper.rb +1 -0
  44. data/test/html/test_document.rb +26 -0
  45. data/test/html/test_document_fragment.rb +1 -2
  46. data/test/test_memory_leak.rb +81 -1
  47. data/test/test_xslt_transforms.rb +152 -123
  48. data/test/xml/test_builder.rb +24 -2
  49. data/test/xml/test_c14n.rb +151 -0
  50. data/test/xml/test_document.rb +48 -0
  51. data/test/xml/test_namespace.rb +5 -0
  52. data/test/xml/test_node.rb +82 -1
  53. data/test/xml/test_node_attributes.rb +19 -0
  54. data/test/xml/test_node_inheritance.rb +32 -0
  55. data/test/xml/test_node_reparenting.rb +32 -0
  56. data/test/xml/test_node_set.rb +16 -8
  57. data/test/xml/test_reader_encoding.rb +16 -0
  58. data/test/xml/test_unparented_node.rb +24 -0
  59. data/test/xml/test_xinclude.rb +83 -0
  60. data/test/xml/test_xpath.rb +22 -0
  61. metadata +208 -241
@@ -246,6 +246,22 @@ module Nokogiri
246
246
  replacee.add_previous_sibling "foo <p></p> bar"
247
247
  assert_equal "foo <p></p> bartext node", xml.root.children.to_html
248
248
  end
249
+
250
+ describe "with a text node before" do
251
+ it "should not defensively dup the 'before' text node" do
252
+ xml = Nokogiri::XML %Q(<root>before<p></p>after</root>)
253
+ pivot = xml.at_css("p")
254
+ before = xml.root.children.first
255
+ after = xml.root.children.last
256
+ pivot.add_previous_sibling("x")
257
+
258
+ assert_equal "after", after.content
259
+ assert !after.parent.nil?, "unrelated node should not be affected"
260
+
261
+ assert_equal "before", before.content
262
+ assert !before.parent.nil?, "no need to reparent"
263
+ end
264
+ end
249
265
  end
250
266
 
251
267
  describe "#add_next_sibling" do
@@ -255,6 +271,22 @@ module Nokogiri
255
271
  replacee.add_next_sibling "foo <p></p> bar"
256
272
  assert_equal "text nodefoo <p></p> bar", xml.root.children.to_html
257
273
  end
274
+
275
+ describe "with a text node after" do
276
+ it "should not defensively dup the 'after' text node" do
277
+ xml = Nokogiri::XML %Q(<root>before<p></p>after</root>)
278
+ pivot = xml.at_css("p")
279
+ before = xml.root.children.first
280
+ after = xml.root.children.last
281
+ pivot.add_next_sibling("x")
282
+
283
+ assert_equal "before", before.content
284
+ assert !before.parent.nil?, "unrelated node should not be affected"
285
+
286
+ assert_equal "after", after.content
287
+ assert !after.parent.nil?
288
+ end
289
+ end
258
290
  end
259
291
 
260
292
  describe "#replace" do
@@ -22,6 +22,12 @@ module Nokogiri
22
22
  @list.push @list.first
23
23
  @list.delete @list.first
24
24
  end
25
+
26
+ def test_reference_after_delete
27
+ first = @list.first
28
+ @list.delete(first)
29
+ assert_equal 'http://www.w3.org/XML/1998/namespace', first.href
30
+ end
25
31
  end
26
32
 
27
33
  def setup
@@ -634,14 +640,16 @@ module Nokogiri
634
640
  end
635
641
 
636
642
  def test_should_not_splode_when_accessing_namespace_declarations_in_a_node_set
637
- xml = Nokogiri::XML "<foo></foo>"
638
- node_set = xml.xpath("//namespace::*")
639
- assert_equal 1, node_set.size
640
- node = node_set.first
641
- node.to_s # segfaults in 1.4.0 and earlier
642
-
643
- # if we haven't segfaulted, let's make sure we handled it correctly
644
- assert_instance_of Nokogiri::XML::Namespace, node
643
+ 2.times do
644
+ xml = Nokogiri::XML "<foo></foo>"
645
+ node_set = xml.xpath("//namespace::*")
646
+ assert_equal 1, node_set.size
647
+ node = node_set.first
648
+ node.to_s # segfaults in 1.4.0 and earlier
649
+
650
+ # if we haven't segfaulted, let's make sure we handled it correctly
651
+ assert_instance_of Nokogiri::XML::Namespace, node
652
+ end
645
653
  end
646
654
 
647
655
  def test_should_not_splode_when_arrayifying_node_set_containing_namespace_declarations
@@ -120,6 +120,22 @@ module Nokogiri
120
120
  assert_equal @reader.encoding, name.encoding.name
121
121
  end
122
122
  end
123
+
124
+ def test_value_lookup_segfault
125
+ skip("JRuby doesn't do GC.") if Nokogiri.jruby?
126
+ old_stress = GC.stress
127
+
128
+ begin
129
+ GC.stress = true
130
+
131
+ while node = @reader.read
132
+ nodes = node.send(:attr_nodes)
133
+ nodes.first.name if nodes.first
134
+ end
135
+ ensure
136
+ GC.stress = old_stress
137
+ end
138
+ end
123
139
  end
124
140
  end
125
141
  end
@@ -223,6 +223,30 @@ module Nokogiri
223
223
  right_space.add_next_sibling(left_space)
224
224
  assert_equal left_space, right_space
225
225
  end
226
+
227
+ def test_add_next_sibling_to_root_raises_exception
228
+ xml = Nokogiri::XML(<<-eoxml)
229
+ <root />
230
+ eoxml
231
+
232
+ node = Nokogiri::XML::Node.new 'child', xml
233
+
234
+ assert_raise(ArgumentError) do
235
+ xml.root.add_next_sibling(node)
236
+ end
237
+ end
238
+
239
+ def test_add_previous_sibling_to_root_raises_exception
240
+ xml = Nokogiri::XML(<<-eoxml)
241
+ <root />
242
+ eoxml
243
+
244
+ node = Nokogiri::XML::Node.new 'child', xml
245
+
246
+ assert_raise(ArgumentError) do
247
+ xml.root.add_previous_sibling(node)
248
+ end
249
+ end
226
250
 
227
251
  def test_find_by_css_with_tilde_eql
228
252
  xml = Nokogiri::XML.parse(<<-eoxml)
@@ -0,0 +1,83 @@
1
+ require "helper"
2
+
3
+ module Nokogiri
4
+ module XML
5
+ class TestXInclude < Nokogiri::TestCase
6
+ def setup
7
+ super
8
+ @xml = Nokogiri::XML.parse(File.read(XML_XINCLUDE_FILE), XML_XINCLUDE_FILE)
9
+ @included = "this snippet is to be included from xinclude.xml"
10
+ end
11
+
12
+ def test_xinclude_on_document_parse
13
+ skip("Pure Java version XInlcude has a conflict with NekoDTD setting. This will be fixed later.") if Nokogiri.jruby?
14
+ # first test that xinclude works when requested
15
+ xml_doc = nil
16
+
17
+ File.open(XML_XINCLUDE_FILE) do |fp|
18
+ xml_doc = Nokogiri::XML(fp) do |conf|
19
+ conf.strict.dtdload.noent.nocdata.xinclude
20
+ end
21
+ end
22
+
23
+ assert_not_nil xml_doc
24
+ assert_not_nil included = xml_doc.at_xpath('//included')
25
+ assert_equal @included, included.content
26
+
27
+ # no xinclude should happen when not requested
28
+ xml_doc = nil
29
+
30
+ File.open(XML_XINCLUDE_FILE) do |fp|
31
+ xml_doc = Nokogiri::XML(fp) do |conf|
32
+ conf.strict.dtdload.noent.nocdata
33
+ end
34
+ end
35
+
36
+ assert_not_nil xml_doc
37
+ assert_nil xml_doc.at_xpath('//included')
38
+ end
39
+
40
+ def test_xinclude_on_document_node
41
+ skip("Pure Java version turns XInlcude on against a parser.") if Nokogiri.jruby?
42
+ assert_nil @xml.at_xpath('//included')
43
+ @xml.do_xinclude
44
+ assert_not_nil included = @xml.at_xpath('//included')
45
+ assert_equal @included, included.content
46
+ end
47
+
48
+ def test_xinclude_on_element_subtree
49
+ skip("Pure Java version turns XInlcude on against a parser.") if Nokogiri.jruby?
50
+ assert_nil @xml.at_xpath('//included')
51
+ @xml.root.do_xinclude
52
+ assert_not_nil included = @xml.at_xpath('//included')
53
+ assert_equal @included, included.content
54
+ end
55
+
56
+ def test_do_xinclude_accepts_block
57
+ non_default_options = Nokogiri::XML::ParseOptions::NOBLANKS | \
58
+ Nokogiri::XML::ParseOptions::XINCLUDE
59
+
60
+ @xml.do_xinclude(non_default_options) do |options|
61
+ assert_equal non_default_options, options.to_i
62
+ end
63
+ end
64
+
65
+ def test_include_nonexistent_throws_exception
66
+ skip("Pure Java version behaves differently") if Nokogiri.jruby?
67
+ # break inclusion deliberately
68
+ @xml.at_xpath('//xi:include')['href'] = "nonexistent.xml"
69
+
70
+ exception_raised = false
71
+ begin
72
+ @xml.do_xinclude { |opts| opts.nowarning }
73
+ rescue Exception => e
74
+ assert_equal Nokogiri::XML::SyntaxError, e.class
75
+ exception_raised = true
76
+ end
77
+
78
+ assert exception_raised
79
+ end
80
+
81
+ end
82
+ end
83
+ end
@@ -58,6 +58,10 @@ module Nokogiri
58
58
  def saves_node_set node_set
59
59
  @things = node_set
60
60
  end
61
+
62
+ def value
63
+ 123.456
64
+ end
61
65
  }.new
62
66
  end
63
67
 
@@ -130,6 +134,15 @@ module Nokogiri
130
134
  assert_equal(['asdf'] * set.length, @handler.things)
131
135
  end
132
136
 
137
+ def test_custom_xpath_function_returns_string
138
+ if Nokogiri.uses_libxml?
139
+ result = @xml.xpath('thing("asdf")', @handler)
140
+ else
141
+ result = @xml.xpath('nokogiri:thing("asdf")', @ns, @handler)
142
+ end
143
+ assert_equal 'asdf', result
144
+ end
145
+
133
146
  def test_custom_xpath_gets_true_booleans
134
147
  set = @xml.xpath('//employee')
135
148
  if Nokogiri.uses_libxml?
@@ -232,6 +245,15 @@ module Nokogiri
232
245
 
233
246
  assert_equal doc.xpath("//tool[@name='hammer']"), doc.xpath(xpath, tool_inspector)
234
247
  end
248
+
249
+ def test_custom_xpath_without_arguments
250
+ if Nokogiri.uses_libxml?
251
+ value = @xml.xpath('value()', @handler)
252
+ else
253
+ value = @xml.xpath('nokogiri:value()', @ns, @handler)
254
+ end
255
+ assert_equal 123.456, value
256
+ end
235
257
  end
236
258
  end
237
259
  end
metadata CHANGED
@@ -1,229 +1,197 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
- version: !ruby/object:Gem::Version
4
- hash: 3
5
- prerelease:
6
- segments:
7
- - 1
8
- - 5
9
- - 0
10
- version: 1.5.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.1.rc1
5
+ prerelease: 6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Aaron Patterson
14
9
  - Mike Dalessio
15
10
  - Yoko Harada
16
11
  autorequire:
17
12
  bindir: bin
18
13
  cert_chain: []
19
-
20
- date: 2011-07-01 00:00:00 -04:00
21
- default_executable:
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
24
- name: racc
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
14
+ date: 2012-02-28 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: hoe-bundler
18
+ requirement: &8843680 !ruby/object:Gem::Requirement
27
19
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 11
32
- segments:
33
- - 1
34
- - 4
35
- - 6
36
- version: 1.4.6
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '1.1'
37
24
  type: :development
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: rexical
41
25
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
26
+ version_requirements: *8843680
27
+ - !ruby/object:Gem::Dependency
28
+ name: hoe-debugging
29
+ requirement: &8843000 !ruby/object:Gem::Requirement
43
30
  none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- hash: 29
48
- segments:
49
- - 1
50
- - 0
51
- - 5
52
- version: 1.0.5
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: 1.0.3
53
35
  type: :development
54
- version_requirements: *id002
55
- - !ruby/object:Gem::Dependency
56
- name: rake-compiler
57
36
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
37
+ version_requirements: *8843000
38
+ - !ruby/object:Gem::Dependency
39
+ name: hoe-gemspec
40
+ requirement: &8841700 !ruby/object:Gem::Requirement
59
41
  none: false
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- hash: 17
64
- segments:
65
- - 0
66
- - 7
67
- - 9
68
- version: 0.7.9
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '1.0'
69
46
  type: :development
70
- version_requirements: *id003
71
- - !ruby/object:Gem::Dependency
72
- name: minitest
73
47
  prerelease: false
74
- requirement: &id004 !ruby/object:Gem::Requirement
48
+ version_requirements: *8841700
49
+ - !ruby/object:Gem::Dependency
50
+ name: hoe-git
51
+ requirement: &8840860 !ruby/object:Gem::Requirement
75
52
  none: false
76
- requirements:
77
- - - ~>
78
- - !ruby/object:Gem::Version
79
- hash: 3
80
- segments:
81
- - 2
82
- - 2
83
- - 2
84
- version: 2.2.2
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '1.4'
85
57
  type: :development
86
- version_requirements: *id004
87
- - !ruby/object:Gem::Dependency
88
- name: mini_portile
89
58
  prerelease: false
90
- requirement: &id005 !ruby/object:Gem::Requirement
59
+ version_requirements: *8840860
60
+ - !ruby/object:Gem::Dependency
61
+ name: mini_portile
62
+ requirement: &8839900 !ruby/object:Gem::Requirement
91
63
  none: false
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- hash: 19
96
- segments:
97
- - 0
98
- - 2
99
- - 2
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
100
67
  version: 0.2.2
101
68
  type: :development
102
- version_requirements: *id005
103
- - !ruby/object:Gem::Dependency
104
- name: hoe-debugging
105
69
  prerelease: false
106
- requirement: &id006 !ruby/object:Gem::Requirement
70
+ version_requirements: *8839900
71
+ - !ruby/object:Gem::Dependency
72
+ name: minitest
73
+ requirement: &8839380 !ruby/object:Gem::Requirement
107
74
  none: false
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- hash: 3
112
- segments:
113
- - 0
114
- version: "0"
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 2.2.2
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: *8839380
82
+ - !ruby/object:Gem::Dependency
83
+ name: racc
84
+ requirement: &8838560 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.4.6
115
90
  type: :development
116
- version_requirements: *id006
117
- - !ruby/object:Gem::Dependency
118
- name: hoe-git
119
91
  prerelease: false
120
- requirement: &id007 !ruby/object:Gem::Requirement
92
+ version_requirements: *8838560
93
+ - !ruby/object:Gem::Dependency
94
+ name: rake-compiler
95
+ requirement: &8837820 !ruby/object:Gem::Requirement
121
96
  none: false
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- hash: 3
126
- segments:
127
- - 0
128
- version: "0"
97
+ requirements:
98
+ - - =
99
+ - !ruby/object:Gem::Version
100
+ version: 0.8.0
129
101
  type: :development
130
- version_requirements: *id007
131
- - !ruby/object:Gem::Dependency
132
- name: hoe-gemspec
133
102
  prerelease: false
134
- requirement: &id008 !ruby/object:Gem::Requirement
103
+ version_requirements: *8837820
104
+ - !ruby/object:Gem::Dependency
105
+ name: rexical
106
+ requirement: &8837300 !ruby/object:Gem::Requirement
135
107
  none: false
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 3
140
- segments:
141
- - 0
142
- version: "0"
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: 1.0.5
143
112
  type: :development
144
- version_requirements: *id008
145
- - !ruby/object:Gem::Dependency
146
- name: hoe-bundler
147
113
  prerelease: false
148
- requirement: &id009 !ruby/object:Gem::Requirement
114
+ version_requirements: *8837300
115
+ - !ruby/object:Gem::Dependency
116
+ name: rdoc
117
+ requirement: &8836700 !ruby/object:Gem::Requirement
149
118
  none: false
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- hash: 3
154
- segments:
155
- - 0
156
- version: "0"
119
+ requirements:
120
+ - - ~>
121
+ - !ruby/object:Gem::Version
122
+ version: '3.10'
157
123
  type: :development
158
- version_requirements: *id009
159
- - !ruby/object:Gem::Dependency
160
- name: hoe
161
124
  prerelease: false
162
- requirement: &id010 !ruby/object:Gem::Requirement
125
+ version_requirements: *8836700
126
+ - !ruby/object:Gem::Dependency
127
+ name: hoe
128
+ requirement: &8866580 !ruby/object:Gem::Requirement
163
129
  none: false
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- hash: 35
168
- segments:
169
- - 2
170
- - 9
171
- - 4
172
- version: 2.9.4
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: '2.13'
173
134
  type: :development
174
- version_requirements: *id010
175
- description: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's\n\
176
- many features is the ability to search documents via XPath or CSS3 selectors.\n\n\
177
- XML is like violence - if it doesn\xE2\x80\x99t solve your problems, you are not using\n\
178
- enough of it."
179
- email:
135
+ prerelease: false
136
+ version_requirements: *8866580
137
+ description: ! 'Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri''s
138
+
139
+ many features is the ability to search documents via XPath or CSS3 selectors.
140
+
141
+
142
+ XML is like violence - if it doesn’t solve your problems, you are not using
143
+
144
+ enough of it.'
145
+ email:
180
146
  - aaronp@rubyforge.org
181
147
  - mike.dalessio@gmail.com
182
148
  - yokolet@gmail.com
183
- executables:
149
+ executables:
184
150
  - nokogiri
185
- extensions:
151
+ extensions:
186
152
  - ext/nokogiri/extconf.rb
187
- extra_rdoc_files:
153
+ extra_rdoc_files:
188
154
  - Manifest.txt
189
- - README.ja.rdoc
190
- - CHANGELOG.rdoc
191
155
  - CHANGELOG.ja.rdoc
156
+ - README.ja.rdoc
192
157
  - README.rdoc
193
- - ext/nokogiri/xml_sax_push_parser.c
194
- - ext/nokogiri/xml_relax_ng.c
195
- - ext/nokogiri/html_sax_parser_context.c
196
- - ext/nokogiri/html_entity_lookup.c
158
+ - C_CODING_STYLE.rdoc
159
+ - CHANGELOG.rdoc
160
+ - ext/nokogiri/xml_encoding_handler.c
161
+ - ext/nokogiri/html_sax_push_parser.c
162
+ - ext/nokogiri/xml_processing_instruction.c
197
163
  - ext/nokogiri/xml_text.c
164
+ - ext/nokogiri/xml_entity_reference.c
165
+ - ext/nokogiri/xml_relax_ng.c
198
166
  - ext/nokogiri/nokogiri.c
167
+ - ext/nokogiri/xml_node.c
168
+ - ext/nokogiri/xml_attr.c
169
+ - ext/nokogiri/xml_reader.c
170
+ - ext/nokogiri/xml_entity_decl.c
199
171
  - ext/nokogiri/xml_element_decl.c
200
- - ext/nokogiri/xml_encoding_handler.c
201
- - ext/nokogiri/html_document.c
202
- - ext/nokogiri/xslt_stylesheet.c
203
- - ext/nokogiri/xml_attribute_decl.c
204
- - ext/nokogiri/xml_io.c
205
- - ext/nokogiri/xml_document_fragment.c
206
- - ext/nokogiri/xml_namespace.c
207
- - ext/nokogiri/xml_libxml2_hacks.c
208
- - ext/nokogiri/xml_sax_parser_context.c
209
- - ext/nokogiri/xml_comment.c
210
- - ext/nokogiri/xml_sax_parser.c
211
172
  - ext/nokogiri/html_element_description.c
212
- - ext/nokogiri/xml_xpath_context.c
173
+ - ext/nokogiri/xslt_stylesheet.c
213
174
  - ext/nokogiri/xml_syntax_error.c
214
175
  - ext/nokogiri/xml_document.c
215
- - ext/nokogiri/xml_entity_decl.c
216
- - ext/nokogiri/xml_node.c
217
- - ext/nokogiri/xml_node_set.c
218
- - ext/nokogiri/xml_reader.c
219
- - ext/nokogiri/xml_processing_instruction.c
220
- - ext/nokogiri/xml_element_content.c
221
176
  - ext/nokogiri/xml_dtd.c
222
- - ext/nokogiri/xml_attr.c
223
- - ext/nokogiri/xml_schema.c
224
177
  - ext/nokogiri/xml_cdata.c
225
- - ext/nokogiri/xml_entity_reference.c
226
- files:
178
+ - ext/nokogiri/xml_sax_parser.c
179
+ - ext/nokogiri/xml_comment.c
180
+ - ext/nokogiri/xml_node_set.c
181
+ - ext/nokogiri/xml_xpath_context.c
182
+ - ext/nokogiri/html_entity_lookup.c
183
+ - ext/nokogiri/xml_sax_push_parser.c
184
+ - ext/nokogiri/xml_sax_parser_context.c
185
+ - ext/nokogiri/xml_io.c
186
+ - ext/nokogiri/xml_libxml2_hacks.c
187
+ - ext/nokogiri/html_document.c
188
+ - ext/nokogiri/xml_attribute_decl.c
189
+ - ext/nokogiri/xml_document_fragment.c
190
+ - ext/nokogiri/xml_schema.c
191
+ - ext/nokogiri/xml_element_content.c
192
+ - ext/nokogiri/html_sax_parser_context.c
193
+ - ext/nokogiri/xml_namespace.c
194
+ files:
227
195
  - .autotest
228
196
  - .gemtest
229
197
  - CHANGELOG.ja.rdoc
@@ -243,6 +211,8 @@ files:
243
211
  - ext/nokogiri/html_entity_lookup.h
244
212
  - ext/nokogiri/html_sax_parser_context.c
245
213
  - ext/nokogiri/html_sax_parser_context.h
214
+ - ext/nokogiri/html_sax_push_parser.c
215
+ - ext/nokogiri/html_sax_push_parser.h
246
216
  - ext/nokogiri/nokogiri.c
247
217
  - ext/nokogiri/nokogiri.h
248
218
  - ext/nokogiri/xml_attr.c
@@ -321,6 +291,7 @@ files:
321
291
  - lib/nokogiri/html/entity_lookup.rb
322
292
  - lib/nokogiri/html/sax/parser.rb
323
293
  - lib/nokogiri/html/sax/parser_context.rb
294
+ - lib/nokogiri/html/sax/push_parser.rb
324
295
  - lib/nokogiri/syntax_error.rb
325
296
  - lib/nokogiri/version.rb
326
297
  - lib/nokogiri/xml.rb
@@ -436,6 +407,7 @@ files:
436
407
  - test/xml/test_node_encoding.rb
437
408
  - test/xml/test_node_reparenting.rb
438
409
  - test/xml/test_node_set.rb
410
+ - test/xml/test_node_inheritance.rb
439
411
  - test/xml/test_parse_options.rb
440
412
  - test/xml/test_processing_instruction.rb
441
413
  - test/xml/test_reader_encoding.rb
@@ -447,100 +419,95 @@ files:
447
419
  - test/xml/test_xpath.rb
448
420
  - test/xslt/test_custom_functions.rb
449
421
  - test/xslt/test_exception_handling.rb
450
- has_rdoc: true
422
+ - test/xml/test_c14n.rb
423
+ - test/xml/test_xinclude.rb
424
+ - C_CODING_STYLE.rdoc
451
425
  homepage: http://nokogiri.org
452
426
  licenses: []
453
-
454
427
  post_install_message:
455
- rdoc_options:
428
+ rdoc_options:
456
429
  - --main
457
430
  - README.rdoc
458
- require_paths:
431
+ require_paths:
459
432
  - lib
460
- required_ruby_version: !ruby/object:Gem::Requirement
433
+ required_ruby_version: !ruby/object:Gem::Requirement
461
434
  none: false
462
- requirements:
463
- - - ">="
464
- - !ruby/object:Gem::Version
465
- hash: 57
466
- segments:
467
- - 1
468
- - 8
469
- - 7
435
+ requirements:
436
+ - - ! '>='
437
+ - !ruby/object:Gem::Version
470
438
  version: 1.8.7
471
- required_rubygems_version: !ruby/object:Gem::Requirement
439
+ required_rubygems_version: !ruby/object:Gem::Requirement
472
440
  none: false
473
- requirements:
474
- - - ">="
475
- - !ruby/object:Gem::Version
476
- hash: 3
477
- segments:
478
- - 0
479
- version: "0"
441
+ requirements:
442
+ - - ! '>'
443
+ - !ruby/object:Gem::Version
444
+ version: 1.3.1
480
445
  requirements: []
481
-
482
446
  rubyforge_project: nokogiri
483
- rubygems_version: 1.6.0
447
+ rubygems_version: 1.8.10
484
448
  signing_key:
485
449
  specification_version: 3
486
- summary: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser"
487
- test_files:
488
- - test/test_convert_xpath.rb
489
- - test/test_soap4r_sax.rb
490
- - test/test_memory_leak.rb
450
+ summary: Nokogiri () is an HTML, XML, SAX, and Reader parser
451
+ test_files:
491
452
  - test/test_nokogiri.rb
492
- - test/test_css_cache.rb
493
- - test/css/test_nthiness.rb
453
+ - test/css/test_tokenizer.rb
494
454
  - test/css/test_xpath_visitor.rb
455
+ - test/css/test_nthiness.rb
495
456
  - test/css/test_parser.rb
496
- - test/css/test_tokenizer.rb
497
- - test/decorators/test_slop.rb
498
- - test/html/test_document.rb
499
- - test/html/test_document_encoding.rb
500
- - test/html/test_named_characters.rb
501
- - test/html/test_document_fragment.rb
502
- - test/html/test_node.rb
503
- - test/html/test_builder.rb
504
- - test/html/sax/test_parser_context.rb
505
- - test/html/sax/test_parser.rb
506
- - test/html/test_node_encoding.rb
507
- - test/html/test_element_description.rb
508
- - test/test_reader.rb
509
- - test/xml/test_parse_options.rb
510
- - test/xml/test_unparented_node.rb
511
- - test/xml/test_element_decl.rb
512
- - test/xml/test_document.rb
513
- - test/xml/test_dtd.rb
457
+ - test/xml/test_dtd_encoding.rb
514
458
  - test/xml/test_document_encoding.rb
459
+ - test/xml/test_node_inheritance.rb
515
460
  - test/xml/test_entity_decl.rb
516
- - test/xml/test_dtd_encoding.rb
517
- - test/xml/node/test_save_options.rb
518
- - test/xml/node/test_subclass.rb
519
- - test/xml/test_document_fragment.rb
461
+ - test/xml/test_node_reparenting.rb
462
+ - test/xml/sax/test_parser_context.rb
463
+ - test/xml/sax/test_push_parser.rb
464
+ - test/xml/sax/test_parser.rb
465
+ - test/xml/test_attr.rb
520
466
  - test/xml/test_cdata.rb
467
+ - test/xml/test_document.rb
468
+ - test/xml/test_node_encoding.rb
469
+ - test/xml/test_document_fragment.rb
470
+ - test/xml/test_c14n.rb
471
+ - test/xml/test_dtd.rb
472
+ - test/xml/test_node.rb
473
+ - test/xml/test_comment.rb
521
474
  - test/xml/test_text.rb
522
- - test/xml/test_reader_encoding.rb
475
+ - test/xml/node/test_save_options.rb
476
+ - test/xml/node/test_subclass.rb
477
+ - test/xml/test_schema.rb
478
+ - test/xml/test_node_attributes.rb
479
+ - test/xml/test_namespace.rb
480
+ - test/xml/test_attribute_decl.rb
523
481
  - test/xml/test_xpath.rb
524
- - test/xml/test_element_content.rb
525
- - test/xml/test_node.rb
482
+ - test/xml/test_processing_instruction.rb
483
+ - test/xml/test_reader_encoding.rb
484
+ - test/xml/test_element_decl.rb
526
485
  - test/xml/test_builder.rb
527
- - test/xml/sax/test_push_parser.rb
528
- - test/xml/sax/test_parser_context.rb
529
- - test/xml/sax/test_parser.rb
530
- - test/xml/test_schema.rb
531
486
  - test/xml/test_node_set.rb
532
- - test/xml/test_attr.rb
533
- - test/xml/test_processing_instruction.rb
534
- - test/xml/test_node_encoding.rb
535
487
  - test/xml/test_syntax_error.rb
536
- - test/xml/test_comment.rb
488
+ - test/xml/test_parse_options.rb
489
+ - test/xml/test_xinclude.rb
490
+ - test/xml/test_element_content.rb
491
+ - test/xml/test_unparented_node.rb
537
492
  - test/xml/test_entity_reference.rb
538
- - test/xml/test_node_reparenting.rb
539
- - test/xml/test_attribute_decl.rb
540
493
  - test/xml/test_relax_ng.rb
541
- - test/xml/test_namespace.rb
542
- - test/xml/test_node_attributes.rb
543
494
  - test/test_xslt_transforms.rb
544
- - test/xslt/test_custom_functions.rb
545
- - test/xslt/test_exception_handling.rb
495
+ - test/test_memory_leak.rb
496
+ - test/test_css_cache.rb
497
+ - test/decorators/test_slop.rb
498
+ - test/test_soap4r_sax.rb
546
499
  - test/test_encoding_handler.rb
500
+ - test/html/test_document_encoding.rb
501
+ - test/html/test_named_characters.rb
502
+ - test/html/sax/test_parser_context.rb
503
+ - test/html/sax/test_parser.rb
504
+ - test/html/test_document.rb
505
+ - test/html/test_node_encoding.rb
506
+ - test/html/test_document_fragment.rb
507
+ - test/html/test_node.rb
508
+ - test/html/test_element_description.rb
509
+ - test/html/test_builder.rb
510
+ - test/xslt/test_exception_handling.rb
511
+ - test/xslt/test_custom_functions.rb
512
+ - test/test_reader.rb
513
+ - test/test_convert_xpath.rb