nokogiri 1.5.0-java → 1.5.1-java
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.
- data/CHANGELOG.ja.rdoc +56 -12
- data/CHANGELOG.rdoc +45 -0
- data/C_CODING_STYLE.rdoc +27 -0
- data/Manifest.txt +4 -0
- data/README.rdoc +11 -7
- data/Rakefile +44 -26
- data/bin/nokogiri +10 -2
- data/ext/java/nokogiri/HtmlDocument.java +37 -2
- data/ext/java/nokogiri/NokogiriService.java +10 -2
- data/ext/java/nokogiri/XmlAttr.java +1 -1
- data/ext/java/nokogiri/XmlDocument.java +68 -11
- data/ext/java/nokogiri/XmlDocumentFragment.java +16 -5
- data/ext/java/nokogiri/XmlElement.java +0 -40
- data/ext/java/nokogiri/XmlNamespace.java +8 -1
- data/ext/java/nokogiri/XmlNode.java +131 -27
- data/ext/java/nokogiri/XmlNodeSet.java +4 -1
- data/ext/java/nokogiri/XmlSaxParserContext.java +2 -13
- data/ext/java/nokogiri/XmlXpathContext.java +4 -1
- data/ext/java/nokogiri/XsltStylesheet.java +198 -37
- data/ext/java/nokogiri/internals/HtmlDomParserContext.java +40 -2
- data/ext/java/nokogiri/internals/NokogiriHelpers.java +82 -9
- data/ext/java/nokogiri/internals/NokogiriXsltErrorListener.java +4 -3
- data/ext/java/nokogiri/internals/ParserContext.java +33 -3
- data/ext/java/nokogiri/internals/SaveContextVisitor.java +203 -12
- data/ext/java/nokogiri/internals/XmlDomParser.java +33 -2
- data/ext/java/nokogiri/internals/XmlDomParserContext.java +32 -12
- data/ext/nokogiri/extconf.rb +11 -3
- data/ext/nokogiri/html_document.c +16 -0
- data/ext/nokogiri/html_sax_parser_context.c +59 -37
- data/ext/nokogiri/html_sax_push_parser.c +87 -0
- data/ext/nokogiri/html_sax_push_parser.h +9 -0
- data/ext/nokogiri/nokogiri.c +6 -8
- data/ext/nokogiri/nokogiri.h +3 -0
- data/ext/nokogiri/xml_document.c +101 -3
- data/ext/nokogiri/xml_document.h +3 -3
- data/ext/nokogiri/xml_node.c +150 -58
- data/ext/nokogiri/xml_node_set.c +169 -120
- data/ext/nokogiri/xml_node_set.h +5 -0
- data/ext/nokogiri/xml_sax_parser_context.c +64 -41
- data/ext/nokogiri/xml_text.c +2 -0
- data/ext/nokogiri/xml_xpath_context.c +30 -24
- data/ext/nokogiri/xslt_stylesheet.c +62 -16
- data/ext/nokogiri/xslt_stylesheet.h +5 -0
- data/lib/nokogiri/css/parser.rb +163 -157
- data/lib/nokogiri/css/parser.y +6 -3
- data/lib/nokogiri/css/tokenizer.rb +1 -1
- data/lib/nokogiri/css/tokenizer.rex +1 -1
- data/lib/nokogiri/html.rb +1 -0
- data/lib/nokogiri/html/document.rb +82 -42
- data/lib/nokogiri/html/sax/push_parser.rb +16 -0
- data/lib/nokogiri/nokogiri.jar +0 -0
- data/lib/nokogiri/version.rb +1 -1
- data/lib/nokogiri/xml.rb +6 -0
- data/lib/nokogiri/xml/builder.rb +7 -1
- data/lib/nokogiri/xml/document.rb +32 -17
- data/lib/nokogiri/xml/document_fragment.rb +6 -1
- data/lib/nokogiri/xml/node.rb +40 -9
- data/lib/nokogiri/xslt.rb +5 -1
- data/tasks/cross_compile.rb +1 -0
- data/tasks/nokogiri.org.rb +6 -0
- data/tasks/test.rb +1 -0
- data/test/css/test_xpath_visitor.rb +6 -0
- data/test/helper.rb +1 -0
- data/test/html/test_document.rb +26 -0
- data/test/html/test_document_fragment.rb +1 -2
- data/test/test_memory_leak.rb +81 -1
- data/test/test_xslt_transforms.rb +152 -123
- data/test/xml/test_builder.rb +24 -2
- data/test/xml/test_c14n.rb +151 -0
- data/test/xml/test_document.rb +48 -0
- data/test/xml/test_namespace.rb +5 -0
- data/test/xml/test_node.rb +82 -1
- data/test/xml/test_node_attributes.rb +19 -0
- data/test/xml/test_node_inheritance.rb +32 -0
- data/test/xml/test_node_reparenting.rb +32 -0
- data/test/xml/test_node_set.rb +16 -8
- data/test/xml/test_reader_encoding.rb +16 -0
- data/test/xml/test_unparented_node.rb +32 -0
- data/test/xml/test_xinclude.rb +83 -0
- data/test/xml/test_xpath.rb +22 -0
- metadata +147 -123
@@ -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
|
data/test/xml/test_node_set.rb
CHANGED
@@ -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
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
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
|
data/test/xml/test_xpath.rb
CHANGED
@@ -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
@@ -2,7 +2,7 @@
|
|
2
2
|
name: nokogiri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.5.
|
5
|
+
version: 1.5.1
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- Aaron Patterson
|
@@ -12,119 +12,129 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date:
|
16
|
-
default_executable:
|
15
|
+
date: 2012-03-09 00:00:00 Z
|
17
16
|
dependencies:
|
18
17
|
- !ruby/object:Gem::Dependency
|
19
|
-
name:
|
20
|
-
|
21
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
name: hoe-bundler
|
19
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
20
|
none: false
|
23
21
|
requirements:
|
24
22
|
- - ">="
|
25
23
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
24
|
+
version: "1.1"
|
25
|
+
requirement: *id001
|
26
|
+
prerelease: false
|
27
27
|
type: :development
|
28
|
-
version_requirements: *id001
|
29
28
|
- !ruby/object:Gem::Dependency
|
30
|
-
name:
|
31
|
-
|
32
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
29
|
+
name: hoe-debugging
|
30
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
33
31
|
none: false
|
34
32
|
requirements:
|
35
33
|
- - ">="
|
36
34
|
- !ruby/object:Gem::Version
|
37
|
-
version: 1.0.
|
35
|
+
version: 1.0.3
|
36
|
+
requirement: *id002
|
37
|
+
prerelease: false
|
38
38
|
type: :development
|
39
|
-
version_requirements: *id002
|
40
39
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
42
|
-
|
43
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
40
|
+
name: hoe-gemspec
|
41
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
44
42
|
none: false
|
45
43
|
requirements:
|
46
44
|
- - ">="
|
47
45
|
- !ruby/object:Gem::Version
|
48
|
-
version: 0
|
46
|
+
version: "1.0"
|
47
|
+
requirement: *id003
|
48
|
+
prerelease: false
|
49
49
|
type: :development
|
50
|
-
version_requirements: *id003
|
51
50
|
- !ruby/object:Gem::Dependency
|
52
|
-
name:
|
53
|
-
|
54
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
51
|
+
name: hoe-git
|
52
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
55
53
|
none: false
|
56
54
|
requirements:
|
57
|
-
- -
|
55
|
+
- - ">="
|
58
56
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
57
|
+
version: "1.4"
|
58
|
+
requirement: *id004
|
59
|
+
prerelease: false
|
60
60
|
type: :development
|
61
|
-
version_requirements: *id004
|
62
61
|
- !ruby/object:Gem::Dependency
|
63
62
|
name: mini_portile
|
64
|
-
|
65
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
63
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
66
64
|
none: false
|
67
65
|
requirements:
|
68
66
|
- - ">="
|
69
67
|
- !ruby/object:Gem::Version
|
70
68
|
version: 0.2.2
|
69
|
+
requirement: *id005
|
70
|
+
prerelease: false
|
71
71
|
type: :development
|
72
|
-
version_requirements: *id005
|
73
72
|
- !ruby/object:Gem::Dependency
|
74
|
-
name:
|
75
|
-
|
76
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
73
|
+
name: minitest
|
74
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
77
75
|
none: false
|
78
76
|
requirements:
|
79
|
-
- -
|
77
|
+
- - ~>
|
80
78
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
79
|
+
version: 2.2.2
|
80
|
+
requirement: *id006
|
81
|
+
prerelease: false
|
82
82
|
type: :development
|
83
|
-
version_requirements: *id006
|
84
83
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
86
|
-
|
87
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
84
|
+
name: racc
|
85
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
88
86
|
none: false
|
89
87
|
requirements:
|
90
88
|
- - ">="
|
91
89
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
90
|
+
version: 1.4.6
|
91
|
+
requirement: *id007
|
92
|
+
prerelease: false
|
93
93
|
type: :development
|
94
|
-
version_requirements: *id007
|
95
94
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
95
|
+
name: rake-compiler
|
96
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - "="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 0.8.0
|
102
|
+
requirement: *id008
|
97
103
|
prerelease: false
|
98
|
-
|
104
|
+
type: :development
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: rexical
|
107
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
99
108
|
none: false
|
100
109
|
requirements:
|
101
110
|
- - ">="
|
102
111
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
112
|
+
version: 1.0.5
|
113
|
+
requirement: *id009
|
114
|
+
prerelease: false
|
104
115
|
type: :development
|
105
|
-
version_requirements: *id008
|
106
116
|
- !ruby/object:Gem::Dependency
|
107
|
-
name:
|
108
|
-
|
109
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
117
|
+
name: rdoc
|
118
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
110
119
|
none: false
|
111
120
|
requirements:
|
112
|
-
- -
|
121
|
+
- - ~>
|
113
122
|
- !ruby/object:Gem::Version
|
114
|
-
version: "
|
123
|
+
version: "3.10"
|
124
|
+
requirement: *id010
|
125
|
+
prerelease: false
|
115
126
|
type: :development
|
116
|
-
version_requirements: *id009
|
117
127
|
- !ruby/object:Gem::Dependency
|
118
128
|
name: hoe
|
119
|
-
|
120
|
-
requirement: &id010 !ruby/object:Gem::Requirement
|
129
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
121
130
|
none: false
|
122
131
|
requirements:
|
123
|
-
- -
|
132
|
+
- - ~>
|
124
133
|
- !ruby/object:Gem::Version
|
125
|
-
version: 2.
|
134
|
+
version: "2.13"
|
135
|
+
requirement: *id011
|
136
|
+
prerelease: false
|
126
137
|
type: :development
|
127
|
-
version_requirements: *id010
|
128
138
|
description: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's\n\
|
129
139
|
many features is the ability to search documents via XPath or CSS3 selectors.\n\n\
|
130
140
|
XML is like violence - if it doesn\xE2\x80\x99t solve your problems, you are not using\n\
|
@@ -139,43 +149,45 @@ extensions: []
|
|
139
149
|
|
140
150
|
extra_rdoc_files:
|
141
151
|
- Manifest.txt
|
142
|
-
- README.ja.rdoc
|
143
|
-
- CHANGELOG.rdoc
|
144
152
|
- CHANGELOG.ja.rdoc
|
153
|
+
- README.ja.rdoc
|
145
154
|
- README.rdoc
|
146
|
-
-
|
147
|
-
-
|
148
|
-
- ext/nokogiri/
|
149
|
-
- ext/nokogiri/
|
155
|
+
- C_CODING_STYLE.rdoc
|
156
|
+
- CHANGELOG.rdoc
|
157
|
+
- ext/nokogiri/xml_encoding_handler.c
|
158
|
+
- ext/nokogiri/html_sax_push_parser.c
|
159
|
+
- ext/nokogiri/xml_processing_instruction.c
|
150
160
|
- ext/nokogiri/xml_text.c
|
161
|
+
- ext/nokogiri/xml_entity_reference.c
|
162
|
+
- ext/nokogiri/xml_relax_ng.c
|
151
163
|
- ext/nokogiri/nokogiri.c
|
164
|
+
- ext/nokogiri/xml_node.c
|
165
|
+
- ext/nokogiri/xml_attr.c
|
166
|
+
- ext/nokogiri/xml_reader.c
|
167
|
+
- ext/nokogiri/xml_entity_decl.c
|
152
168
|
- ext/nokogiri/xml_element_decl.c
|
153
|
-
- ext/nokogiri/xml_encoding_handler.c
|
154
|
-
- ext/nokogiri/html_document.c
|
155
|
-
- ext/nokogiri/xslt_stylesheet.c
|
156
|
-
- ext/nokogiri/xml_attribute_decl.c
|
157
|
-
- ext/nokogiri/xml_io.c
|
158
|
-
- ext/nokogiri/xml_document_fragment.c
|
159
|
-
- ext/nokogiri/xml_namespace.c
|
160
|
-
- ext/nokogiri/xml_libxml2_hacks.c
|
161
|
-
- ext/nokogiri/xml_sax_parser_context.c
|
162
|
-
- ext/nokogiri/xml_comment.c
|
163
|
-
- ext/nokogiri/xml_sax_parser.c
|
164
169
|
- ext/nokogiri/html_element_description.c
|
165
|
-
- ext/nokogiri/
|
170
|
+
- ext/nokogiri/xslt_stylesheet.c
|
166
171
|
- ext/nokogiri/xml_syntax_error.c
|
167
172
|
- ext/nokogiri/xml_document.c
|
168
|
-
- ext/nokogiri/xml_entity_decl.c
|
169
|
-
- ext/nokogiri/xml_node.c
|
170
|
-
- ext/nokogiri/xml_node_set.c
|
171
|
-
- ext/nokogiri/xml_reader.c
|
172
|
-
- ext/nokogiri/xml_processing_instruction.c
|
173
|
-
- ext/nokogiri/xml_element_content.c
|
174
173
|
- ext/nokogiri/xml_dtd.c
|
175
|
-
- ext/nokogiri/xml_attr.c
|
176
|
-
- ext/nokogiri/xml_schema.c
|
177
174
|
- ext/nokogiri/xml_cdata.c
|
178
|
-
- ext/nokogiri/
|
175
|
+
- ext/nokogiri/xml_sax_parser.c
|
176
|
+
- ext/nokogiri/xml_comment.c
|
177
|
+
- ext/nokogiri/xml_node_set.c
|
178
|
+
- ext/nokogiri/xml_xpath_context.c
|
179
|
+
- ext/nokogiri/html_entity_lookup.c
|
180
|
+
- ext/nokogiri/xml_sax_push_parser.c
|
181
|
+
- ext/nokogiri/xml_sax_parser_context.c
|
182
|
+
- ext/nokogiri/xml_io.c
|
183
|
+
- ext/nokogiri/xml_libxml2_hacks.c
|
184
|
+
- ext/nokogiri/html_document.c
|
185
|
+
- ext/nokogiri/xml_attribute_decl.c
|
186
|
+
- ext/nokogiri/xml_document_fragment.c
|
187
|
+
- ext/nokogiri/xml_schema.c
|
188
|
+
- ext/nokogiri/xml_element_content.c
|
189
|
+
- ext/nokogiri/html_sax_parser_context.c
|
190
|
+
- ext/nokogiri/xml_namespace.c
|
179
191
|
files:
|
180
192
|
- .autotest
|
181
193
|
- .gemtest
|
@@ -251,6 +263,8 @@ files:
|
|
251
263
|
- ext/nokogiri/html_entity_lookup.h
|
252
264
|
- ext/nokogiri/html_sax_parser_context.c
|
253
265
|
- ext/nokogiri/html_sax_parser_context.h
|
266
|
+
- ext/nokogiri/html_sax_push_parser.c
|
267
|
+
- ext/nokogiri/html_sax_push_parser.h
|
254
268
|
- ext/nokogiri/nokogiri.c
|
255
269
|
- ext/nokogiri/nokogiri.h
|
256
270
|
- ext/nokogiri/xml_attr.c
|
@@ -333,6 +347,7 @@ files:
|
|
333
347
|
- lib/nokogiri/html/entity_lookup.rb
|
334
348
|
- lib/nokogiri/html/sax/parser.rb
|
335
349
|
- lib/nokogiri/html/sax/parser_context.rb
|
350
|
+
- lib/nokogiri/html/sax/push_parser.rb
|
336
351
|
- lib/nokogiri/syntax_error.rb
|
337
352
|
- lib/nokogiri/version.rb
|
338
353
|
- lib/nokogiri/xml.rb
|
@@ -449,6 +464,7 @@ files:
|
|
449
464
|
- test/xml/test_node_encoding.rb
|
450
465
|
- test/xml/test_node_reparenting.rb
|
451
466
|
- test/xml/test_node_set.rb
|
467
|
+
- test/xml/test_node_inheritance.rb
|
452
468
|
- test/xml/test_parse_options.rb
|
453
469
|
- test/xml/test_processing_instruction.rb
|
454
470
|
- test/xml/test_reader_encoding.rb
|
@@ -460,8 +476,10 @@ files:
|
|
460
476
|
- test/xml/test_xpath.rb
|
461
477
|
- test/xslt/test_custom_functions.rb
|
462
478
|
- test/xslt/test_exception_handling.rb
|
479
|
+
- test/xml/test_c14n.rb
|
480
|
+
- test/xml/test_xinclude.rb
|
481
|
+
- C_CODING_STYLE.rdoc
|
463
482
|
- lib/nokogiri/nokogiri.jar
|
464
|
-
has_rdoc: true
|
465
483
|
homepage: http://nokogiri.org
|
466
484
|
licenses: []
|
467
485
|
|
@@ -476,6 +494,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
476
494
|
requirements:
|
477
495
|
- - ">="
|
478
496
|
- !ruby/object:Gem::Version
|
497
|
+
hash: 2
|
498
|
+
segments:
|
499
|
+
- 0
|
479
500
|
version: "0"
|
480
501
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
481
502
|
none: false
|
@@ -486,67 +507,70 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
486
507
|
requirements: []
|
487
508
|
|
488
509
|
rubyforge_project: nokogiri
|
489
|
-
rubygems_version: 1.
|
510
|
+
rubygems_version: 1.8.9
|
490
511
|
signing_key:
|
491
512
|
specification_version: 3
|
492
513
|
summary: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser"
|
493
514
|
test_files:
|
494
|
-
- test/test_convert_xpath.rb
|
495
|
-
- test/test_soap4r_sax.rb
|
496
|
-
- test/test_memory_leak.rb
|
497
515
|
- test/test_nokogiri.rb
|
498
|
-
- test/test_css_cache.rb
|
499
|
-
- test/test_reader.rb
|
500
516
|
- test/test_xslt_transforms.rb
|
517
|
+
- test/test_memory_leak.rb
|
518
|
+
- test/test_css_cache.rb
|
519
|
+
- test/test_soap4r_sax.rb
|
501
520
|
- test/test_encoding_handler.rb
|
502
|
-
- test/
|
521
|
+
- test/test_reader.rb
|
522
|
+
- test/test_convert_xpath.rb
|
523
|
+
- test/css/test_tokenizer.rb
|
503
524
|
- test/css/test_xpath_visitor.rb
|
525
|
+
- test/css/test_nthiness.rb
|
504
526
|
- test/css/test_parser.rb
|
505
|
-
- test/
|
506
|
-
- test/decorators/test_slop.rb
|
507
|
-
- test/html/test_document.rb
|
508
|
-
- test/html/test_document_encoding.rb
|
509
|
-
- test/html/test_named_characters.rb
|
510
|
-
- test/html/test_document_fragment.rb
|
511
|
-
- test/html/test_node.rb
|
512
|
-
- test/html/test_builder.rb
|
513
|
-
- test/html/test_node_encoding.rb
|
514
|
-
- test/html/test_element_description.rb
|
515
|
-
- test/html/sax/test_parser_context.rb
|
516
|
-
- test/html/sax/test_parser.rb
|
517
|
-
- test/xml/test_parse_options.rb
|
518
|
-
- test/xml/test_unparented_node.rb
|
519
|
-
- test/xml/test_element_decl.rb
|
520
|
-
- test/xml/test_document.rb
|
521
|
-
- test/xml/test_dtd.rb
|
527
|
+
- test/xml/test_dtd_encoding.rb
|
522
528
|
- test/xml/test_document_encoding.rb
|
529
|
+
- test/xml/test_node_inheritance.rb
|
523
530
|
- test/xml/test_entity_decl.rb
|
524
|
-
- test/xml/
|
525
|
-
- test/xml/
|
531
|
+
- test/xml/test_node_reparenting.rb
|
532
|
+
- test/xml/test_attr.rb
|
526
533
|
- test/xml/test_cdata.rb
|
534
|
+
- test/xml/test_document.rb
|
535
|
+
- test/xml/test_node_encoding.rb
|
536
|
+
- test/xml/test_document_fragment.rb
|
537
|
+
- test/xml/test_c14n.rb
|
538
|
+
- test/xml/test_dtd.rb
|
539
|
+
- test/xml/test_node.rb
|
540
|
+
- test/xml/test_comment.rb
|
527
541
|
- test/xml/test_text.rb
|
528
|
-
- test/xml/
|
542
|
+
- test/xml/test_schema.rb
|
543
|
+
- test/xml/test_node_attributes.rb
|
544
|
+
- test/xml/test_namespace.rb
|
545
|
+
- test/xml/test_attribute_decl.rb
|
529
546
|
- test/xml/test_xpath.rb
|
530
|
-
- test/xml/
|
531
|
-
- test/xml/
|
547
|
+
- test/xml/test_processing_instruction.rb
|
548
|
+
- test/xml/test_reader_encoding.rb
|
549
|
+
- test/xml/test_element_decl.rb
|
532
550
|
- test/xml/test_builder.rb
|
533
|
-
- test/xml/test_schema.rb
|
534
551
|
- test/xml/test_node_set.rb
|
535
|
-
- test/xml/test_attr.rb
|
536
|
-
- test/xml/test_processing_instruction.rb
|
537
|
-
- test/xml/test_node_encoding.rb
|
538
552
|
- test/xml/test_syntax_error.rb
|
539
|
-
- test/xml/
|
553
|
+
- test/xml/test_parse_options.rb
|
554
|
+
- test/xml/test_xinclude.rb
|
555
|
+
- test/xml/test_element_content.rb
|
556
|
+
- test/xml/test_unparented_node.rb
|
540
557
|
- test/xml/test_entity_reference.rb
|
541
|
-
- test/xml/test_node_reparenting.rb
|
542
|
-
- test/xml/test_attribute_decl.rb
|
543
558
|
- test/xml/test_relax_ng.rb
|
544
|
-
- test/xml/test_namespace.rb
|
545
|
-
- test/xml/test_node_attributes.rb
|
546
|
-
- test/xml/node/test_save_options.rb
|
547
|
-
- test/xml/node/test_subclass.rb
|
548
|
-
- test/xml/sax/test_push_parser.rb
|
549
559
|
- test/xml/sax/test_parser_context.rb
|
560
|
+
- test/xml/sax/test_push_parser.rb
|
550
561
|
- test/xml/sax/test_parser.rb
|
551
|
-
- test/
|
562
|
+
- test/xml/node/test_save_options.rb
|
563
|
+
- test/xml/node/test_subclass.rb
|
564
|
+
- test/decorators/test_slop.rb
|
565
|
+
- test/html/test_document_encoding.rb
|
566
|
+
- test/html/test_named_characters.rb
|
567
|
+
- test/html/test_document.rb
|
568
|
+
- test/html/test_node_encoding.rb
|
569
|
+
- test/html/test_document_fragment.rb
|
570
|
+
- test/html/test_node.rb
|
571
|
+
- test/html/test_element_description.rb
|
572
|
+
- test/html/test_builder.rb
|
573
|
+
- test/html/sax/test_parser_context.rb
|
574
|
+
- test/html/sax/test_parser.rb
|
552
575
|
- test/xslt/test_exception_handling.rb
|
576
|
+
- test/xslt/test_custom_functions.rb
|