nokogiri-maglev- 1.5.0.1 → 1.5.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 (61) hide show
  1. data/CHANGELOG.ja.rdoc +56 -12
  2. data/CHANGELOG.rdoc +49 -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 -27
  7. data/bin/nokogiri +10 -2
  8. data/ext/nokogiri/extconf.rb +11 -3
  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 +7 -9
  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 +151 -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 +31 -25
  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 +32 -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,38 @@ 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
250
+
251
+ def test_add_pi_as_previous_sibling_to_root_is_ok
252
+ doc = Nokogiri::XML "<root>foo</root>"
253
+ pi = Nokogiri::XML::ProcessingInstruction.new(doc, "xml-stylesheet", %q{type="text/xsl" href="foo.xsl"})
254
+ doc.root.add_previous_sibling pi
255
+ expected_doc = %Q{<?xml version="1.0"?>\n<?xml-stylesheet type="text/xsl" href="foo.xsl"?>\n<root>foo</root>\n}
256
+ assert_equal expected_doc, doc.to_xml
257
+ end
226
258
 
227
259
  def test_find_by_css_with_tilde_eql
228
260
  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,230 +1,198 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: nokogiri-maglev-
3
- version: !ruby/object:Gem::Version
4
- hash: 117
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.2
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 5
9
- - 0
10
- - 1
11
- version: 1.5.0.1
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - Aaron Patterson
15
9
  - Mike Dalessio
16
10
  - Yoko Harada
17
11
  autorequire:
18
12
  bindir: bin
19
13
  cert_chain: []
20
-
21
- date: 2011-09-20 00:00:00 -07:00
22
- default_executable:
23
- dependencies:
24
- - !ruby/object:Gem::Dependency
25
- name: racc
26
- prerelease: false
27
- requirement: &id001 !ruby/object:Gem::Requirement
14
+ date: 2012-08-15 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: hoe-bundler
18
+ requirement: &70122948604760 !ruby/object:Gem::Requirement
28
19
  none: false
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- hash: 11
33
- segments:
34
- - 1
35
- - 4
36
- - 6
37
- version: 1.4.6
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '1.1'
38
24
  type: :development
39
- version_requirements: *id001
40
- - !ruby/object:Gem::Dependency
41
- name: rexical
42
25
  prerelease: false
43
- requirement: &id002 !ruby/object:Gem::Requirement
26
+ version_requirements: *70122948604760
27
+ - !ruby/object:Gem::Dependency
28
+ name: hoe-debugging
29
+ requirement: &70122948603440 !ruby/object:Gem::Requirement
44
30
  none: false
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- hash: 29
49
- segments:
50
- - 1
51
- - 0
52
- - 5
53
- version: 1.0.5
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: 1.0.3
54
35
  type: :development
55
- version_requirements: *id002
56
- - !ruby/object:Gem::Dependency
57
- name: rake-compiler
58
36
  prerelease: false
59
- requirement: &id003 !ruby/object:Gem::Requirement
37
+ version_requirements: *70122948603440
38
+ - !ruby/object:Gem::Dependency
39
+ name: hoe-gemspec
40
+ requirement: &70122948602760 !ruby/object:Gem::Requirement
60
41
  none: false
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- hash: 17
65
- segments:
66
- - 0
67
- - 7
68
- - 9
69
- version: 0.7.9
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '1.0'
70
46
  type: :development
71
- version_requirements: *id003
72
- - !ruby/object:Gem::Dependency
73
- name: minitest
74
47
  prerelease: false
75
- requirement: &id004 !ruby/object:Gem::Requirement
48
+ version_requirements: *70122948602760
49
+ - !ruby/object:Gem::Dependency
50
+ name: hoe-git
51
+ requirement: &70122948619900 !ruby/object:Gem::Requirement
76
52
  none: false
77
- requirements:
78
- - - ~>
79
- - !ruby/object:Gem::Version
80
- hash: 3
81
- segments:
82
- - 2
83
- - 2
84
- - 2
85
- version: 2.2.2
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '1.4'
86
57
  type: :development
87
- version_requirements: *id004
88
- - !ruby/object:Gem::Dependency
89
- name: mini_portile
90
58
  prerelease: false
91
- requirement: &id005 !ruby/object:Gem::Requirement
59
+ version_requirements: *70122948619900
60
+ - !ruby/object:Gem::Dependency
61
+ name: mini_portile
62
+ requirement: &70122948618340 !ruby/object:Gem::Requirement
92
63
  none: false
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- hash: 19
97
- segments:
98
- - 0
99
- - 2
100
- - 2
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
101
67
  version: 0.2.2
102
68
  type: :development
103
- version_requirements: *id005
104
- - !ruby/object:Gem::Dependency
105
- name: hoe-debugging
106
69
  prerelease: false
107
- requirement: &id006 !ruby/object:Gem::Requirement
70
+ version_requirements: *70122948618340
71
+ - !ruby/object:Gem::Dependency
72
+ name: minitest
73
+ requirement: &70122948617420 !ruby/object:Gem::Requirement
108
74
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 2.2.2
116
79
  type: :development
117
- version_requirements: *id006
118
- - !ruby/object:Gem::Dependency
119
- name: hoe-git
120
80
  prerelease: false
121
- requirement: &id007 !ruby/object:Gem::Requirement
81
+ version_requirements: *70122948617420
82
+ - !ruby/object:Gem::Dependency
83
+ name: racc
84
+ requirement: &70122948616360 !ruby/object:Gem::Requirement
122
85
  none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.4.6
130
90
  type: :development
131
- version_requirements: *id007
132
- - !ruby/object:Gem::Dependency
133
- name: hoe-gemspec
134
91
  prerelease: false
135
- requirement: &id008 !ruby/object:Gem::Requirement
92
+ version_requirements: *70122948616360
93
+ - !ruby/object:Gem::Dependency
94
+ name: rake-compiler
95
+ requirement: &70122948615180 !ruby/object:Gem::Requirement
136
96
  none: false
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- hash: 3
141
- segments:
142
- - 0
143
- version: "0"
97
+ requirements:
98
+ - - =
99
+ - !ruby/object:Gem::Version
100
+ version: 0.8.0
144
101
  type: :development
145
- version_requirements: *id008
146
- - !ruby/object:Gem::Dependency
147
- name: hoe-bundler
148
102
  prerelease: false
149
- requirement: &id009 !ruby/object:Gem::Requirement
103
+ version_requirements: *70122948615180
104
+ - !ruby/object:Gem::Dependency
105
+ name: rexical
106
+ requirement: &70122948614340 !ruby/object:Gem::Requirement
150
107
  none: false
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- hash: 3
155
- segments:
156
- - 0
157
- version: "0"
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: 1.0.5
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: *70122948614340
115
+ - !ruby/object:Gem::Dependency
116
+ name: rdoc
117
+ requirement: &70122948613720 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ~>
121
+ - !ruby/object:Gem::Version
122
+ version: '3.10'
158
123
  type: :development
159
- version_requirements: *id009
160
- - !ruby/object:Gem::Dependency
161
- name: hoe
162
124
  prerelease: false
163
- requirement: &id010 !ruby/object:Gem::Requirement
125
+ version_requirements: *70122948613720
126
+ - !ruby/object:Gem::Dependency
127
+ name: hoe
128
+ requirement: &70122948612920 !ruby/object:Gem::Requirement
164
129
  none: false
165
- requirements:
130
+ requirements:
166
131
  - - ~>
167
- - !ruby/object:Gem::Version
168
- hash: 27
169
- segments:
170
- - 2
171
- - 12
172
- version: "2.12"
132
+ - !ruby/object:Gem::Version
133
+ version: '2.16'
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: *70122948612920
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:
188
- - Manifest.txt
153
+ extra_rdoc_files:
189
154
  - CHANGELOG.ja.rdoc
155
+ - CHANGELOG.rdoc
156
+ - Manifest.txt
190
157
  - README.ja.rdoc
191
158
  - README.rdoc
192
- - CHANGELOG.rdoc
193
- - ext/nokogiri/xml_namespace.c
159
+ - C_CODING_STYLE.rdoc
160
+ - ext/nokogiri/html_element_description.c
161
+ - ext/nokogiri/html_entity_lookup.c
162
+ - ext/nokogiri/xml_attribute_decl.c
194
163
  - ext/nokogiri/xml_dtd.c
164
+ - ext/nokogiri/xml_element_content.c
165
+ - ext/nokogiri/xml_element_decl.c
195
166
  - ext/nokogiri/xml_encoding_handler.c
196
- - ext/nokogiri/xml_attr.c
197
- - ext/nokogiri/xml_reader.c
167
+ - ext/nokogiri/xml_entity_decl.c
168
+ - ext/nokogiri/xml_libxml2_hacks.c
198
169
  - ext/nokogiri/xml_sax_parser.c
199
- - ext/nokogiri/xml_sax_parser_context.c
170
+ - ext/nokogiri/st.c
171
+ - ext/nokogiri/xml_reader.c
172
+ - ext/nokogiri/xml_relax_ng.c
173
+ - ext/nokogiri/xml_sax_push_parser.c
174
+ - ext/nokogiri/xml_schema.c
200
175
  - ext/nokogiri/xml_syntax_error.c
201
- - ext/nokogiri/html_document.c
176
+ - ext/nokogiri/xml_attr.c
177
+ - ext/nokogiri/xml_cdata.c
202
178
  - ext/nokogiri/xml_comment.c
203
179
  - ext/nokogiri/xml_document_fragment.c
204
- - ext/nokogiri/html_sax_parser_context.c
180
+ - ext/nokogiri/xml_entity_reference.c
181
+ - ext/nokogiri/xml_io.c
182
+ - ext/nokogiri/xml_namespace.c
183
+ - ext/nokogiri/xml_processing_instruction.c
184
+ - ext/nokogiri/html_document.c
185
+ - ext/nokogiri/html_sax_push_parser.c
205
186
  - ext/nokogiri/nokogiri.c
206
- - ext/nokogiri/html_element_description.c
207
- - ext/nokogiri/xml_libxml2_hacks.c
208
- - ext/nokogiri/xml_entity_decl.c
209
- - ext/nokogiri/xml_attribute_decl.c
210
- - ext/nokogiri/xml_node_set.c
211
- - ext/nokogiri/xml_element_decl.c
212
- - ext/nokogiri/xml_sax_push_parser.c
213
- - ext/nokogiri/xml_document.c
214
- - ext/nokogiri/xml_element_content.c
215
- - ext/nokogiri/xml_xpath_context.c
216
187
  - ext/nokogiri/xml_text.c
217
- - ext/nokogiri/st.c
218
- - ext/nokogiri/xml_processing_instruction.c
219
- - ext/nokogiri/xml_cdata.c
220
188
  - ext/nokogiri/xslt_stylesheet.c
221
- - ext/nokogiri/xml_schema.c
189
+ - ext/nokogiri/xml_xpath_context.c
190
+ - ext/nokogiri/xml_sax_parser_context.c
191
+ - ext/nokogiri/xml_node_set.c
222
192
  - ext/nokogiri/xml_node.c
223
- - ext/nokogiri/xml_entity_reference.c
224
- - ext/nokogiri/html_entity_lookup.c
225
- - ext/nokogiri/xml_io.c
226
- - ext/nokogiri/xml_relax_ng.c
227
- files:
193
+ - ext/nokogiri/xml_document.c
194
+ - ext/nokogiri/html_sax_parser_context.c
195
+ files:
228
196
  - .autotest
229
197
  - .gemtest
230
198
  - CHANGELOG.ja.rdoc
@@ -244,6 +212,8 @@ files:
244
212
  - ext/nokogiri/html_entity_lookup.h
245
213
  - ext/nokogiri/html_sax_parser_context.c
246
214
  - ext/nokogiri/html_sax_parser_context.h
215
+ - ext/nokogiri/html_sax_push_parser.c
216
+ - ext/nokogiri/html_sax_push_parser.h
247
217
  - ext/nokogiri/nokogiri.c
248
218
  - ext/nokogiri/nokogiri.h
249
219
  - ext/nokogiri/xml_attr.c
@@ -322,6 +292,7 @@ files:
322
292
  - lib/nokogiri/html/entity_lookup.rb
323
293
  - lib/nokogiri/html/sax/parser.rb
324
294
  - lib/nokogiri/html/sax/parser_context.rb
295
+ - lib/nokogiri/html/sax/push_parser.rb
325
296
  - lib/nokogiri/syntax_error.rb
326
297
  - lib/nokogiri/version.rb
327
298
  - lib/nokogiri/xml.rb
@@ -437,6 +408,7 @@ files:
437
408
  - test/xml/test_node_encoding.rb
438
409
  - test/xml/test_node_reparenting.rb
439
410
  - test/xml/test_node_set.rb
411
+ - test/xml/test_node_inheritance.rb
440
412
  - test/xml/test_parse_options.rb
441
413
  - test/xml/test_processing_instruction.rb
442
414
  - test/xml/test_reader_encoding.rb
@@ -448,101 +420,96 @@ files:
448
420
  - test/xml/test_xpath.rb
449
421
  - test/xslt/test_custom_functions.rb
450
422
  - test/xslt/test_exception_handling.rb
423
+ - test/xml/test_c14n.rb
424
+ - test/xml/test_xinclude.rb
425
+ - C_CODING_STYLE.rdoc
451
426
  - ext/nokogiri/st.c
452
- has_rdoc: true
453
427
  homepage: http://nokogiri.org
454
428
  licenses: []
455
-
456
429
  post_install_message:
457
- rdoc_options:
430
+ rdoc_options:
458
431
  - --main
459
432
  - README.rdoc
460
- require_paths:
433
+ require_paths:
461
434
  - lib
462
- required_ruby_version: !ruby/object:Gem::Requirement
435
+ required_ruby_version: !ruby/object:Gem::Requirement
463
436
  none: false
464
- requirements:
465
- - - ">="
466
- - !ruby/object:Gem::Version
467
- hash: 57
468
- segments:
469
- - 1
470
- - 8
471
- - 7
437
+ requirements:
438
+ - - ! '>='
439
+ - !ruby/object:Gem::Version
472
440
  version: 1.8.7
473
- required_rubygems_version: !ruby/object:Gem::Requirement
441
+ required_rubygems_version: !ruby/object:Gem::Requirement
474
442
  none: false
475
- requirements:
476
- - - ">="
477
- - !ruby/object:Gem::Version
478
- hash: 3
479
- segments:
480
- - 0
481
- version: "0"
443
+ requirements:
444
+ - - ! '>='
445
+ - !ruby/object:Gem::Version
446
+ version: '0'
482
447
  requirements: []
483
-
484
- rubyforge_project: nokogiri-maglev-
485
- rubygems_version: 1.6.2
448
+ rubyforge_project: maglev-nokogiri
449
+ rubygems_version: 1.8.11
486
450
  signing_key:
487
451
  specification_version: 3
488
- summary: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser"
489
- test_files:
490
- - test/css/test_tokenizer.rb
452
+ summary: Nokogiri () is an HTML, XML, SAX, and Reader parser
453
+ test_files:
491
454
  - test/css/test_nthiness.rb
492
- - test/css/test_xpath_visitor.rb
455
+ - test/css/test_tokenizer.rb
493
456
  - test/css/test_parser.rb
494
- - test/test_nokogiri.rb
495
- - test/test_encoding_handler.rb
457
+ - test/css/test_xpath_visitor.rb
496
458
  - test/decorators/test_slop.rb
497
- - test/xslt/test_exception_handling.rb
498
- - test/xslt/test_custom_functions.rb
499
- - test/test_reader.rb
500
- - test/test_memory_leak.rb
501
- - test/test_xslt_transforms.rb
459
+ - test/html/sax/test_parser.rb
460
+ - test/html/sax/test_parser_context.rb
461
+ - test/html/test_document_encoding.rb
462
+ - test/html/test_named_characters.rb
463
+ - test/html/test_node_encoding.rb
464
+ - test/html/test_builder.rb
465
+ - test/html/test_element_description.rb
466
+ - test/html/test_node.rb
467
+ - test/html/test_document.rb
468
+ - test/html/test_document_fragment.rb
469
+ - test/test_convert_xpath.rb
502
470
  - test/test_css_cache.rb
503
- - test/xml/test_syntax_error.rb
504
- - test/xml/test_attribute_decl.rb
505
- - test/xml/test_schema.rb
506
- - test/xml/test_reader_encoding.rb
507
- - test/xml/test_entity_reference.rb
508
- - test/xml/node/test_subclass.rb
471
+ - test/test_encoding_handler.rb
472
+ - test/test_soap4r_sax.rb
509
473
  - test/xml/node/test_save_options.rb
510
- - test/xml/test_unparented_node.rb
511
- - test/xml/sax/test_push_parser.rb
512
- - test/xml/sax/test_parser_context.rb
474
+ - test/xml/node/test_subclass.rb
513
475
  - test/xml/sax/test_parser.rb
514
- - test/xml/test_processing_instruction.rb
476
+ - test/xml/sax/test_parser_context.rb
477
+ - test/xml/sax/test_push_parser.rb
478
+ - test/xml/test_attribute_decl.rb
479
+ - test/xml/test_comment.rb
515
480
  - test/xml/test_dtd_encoding.rb
516
- - test/xml/test_document.rb
517
- - test/xml/test_node_set.rb
518
- - test/xml/test_xpath.rb
519
- - test/xml/test_cdata.rb
520
- - test/xml/test_attr.rb
521
481
  - test/xml/test_element_content.rb
482
+ - test/xml/test_element_decl.rb
483
+ - test/xml/test_entity_decl.rb
484
+ - test/xml/test_node_encoding.rb
485
+ - test/xml/test_processing_instruction.rb
486
+ - test/xml/test_relax_ng.rb
487
+ - test/xml/test_schema.rb
488
+ - test/xml/test_syntax_error.rb
489
+ - test/xml/test_attr.rb
490
+ - test/xml/test_builder.rb
491
+ - test/xml/test_cdata.rb
522
492
  - test/xml/test_document_encoding.rb
523
493
  - test/xml/test_document_fragment.rb
524
- - test/xml/test_element_decl.rb
525
- - test/xml/test_node_reparenting.rb
526
494
  - test/xml/test_dtd.rb
527
- - test/xml/test_relax_ng.rb
528
- - test/xml/test_comment.rb
529
- - test/xml/test_namespace.rb
495
+ - test/xml/test_entity_reference.rb
496
+ - test/xml/test_parse_options.rb
530
497
  - test/xml/test_text.rb
531
- - test/xml/test_builder.rb
532
- - test/xml/test_node.rb
533
- - test/xml/test_entity_decl.rb
498
+ - test/xml/test_c14n.rb
499
+ - test/xml/test_namespace.rb
534
500
  - test/xml/test_node_attributes.rb
535
- - test/xml/test_node_encoding.rb
536
- - test/xml/test_parse_options.rb
537
- - test/test_convert_xpath.rb
538
- - test/html/test_element_description.rb
539
- - test/html/sax/test_parser_context.rb
540
- - test/html/sax/test_parser.rb
541
- - test/html/test_named_characters.rb
542
- - test/html/test_document.rb
543
- - test/html/test_document_encoding.rb
544
- - test/html/test_document_fragment.rb
545
- - test/html/test_builder.rb
546
- - test/html/test_node.rb
547
- - test/html/test_node_encoding.rb
548
- - test/test_soap4r_sax.rb
501
+ - test/xml/test_node_inheritance.rb
502
+ - test/xml/test_node_reparenting.rb
503
+ - test/xml/test_node_set.rb
504
+ - test/xml/test_reader_encoding.rb
505
+ - test/xml/test_unparented_node.rb
506
+ - test/xml/test_xinclude.rb
507
+ - test/xml/test_xpath.rb
508
+ - test/xml/test_node.rb
509
+ - test/xml/test_document.rb
510
+ - test/xslt/test_exception_handling.rb
511
+ - test/xslt/test_custom_functions.rb
512
+ - test/test_nokogiri.rb
513
+ - test/test_reader.rb
514
+ - test/test_xslt_transforms.rb
515
+ - test/test_memory_leak.rb