nokogiri-maglev- 1.5.0.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
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