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.
- data/CHANGELOG.ja.rdoc +56 -12
- data/CHANGELOG.rdoc +49 -0
- data/C_CODING_STYLE.rdoc +27 -0
- data/Manifest.txt +4 -0
- data/README.rdoc +11 -7
- data/Rakefile +42 -27
- data/bin/nokogiri +10 -2
- 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 +7 -9
- 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 +151 -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 +31 -25
- data/ext/nokogiri/xslt_stylesheet.c +62 -16
- data/ext/nokogiri/xslt_stylesheet.h +5 -0
- data/lib/nokogiri/css/parser.rb +165 -159
- 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/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 +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
|
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
@@ -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
|
-
|
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
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
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
|
-
|
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
|
-
|
169
|
-
segments:
|
170
|
-
- 2
|
171
|
-
- 12
|
172
|
-
version: "2.12"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '2.16'
|
173
134
|
type: :development
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
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
|
-
-
|
193
|
-
- ext/nokogiri/
|
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/
|
197
|
-
- ext/nokogiri/
|
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/
|
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/
|
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/
|
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/
|
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/
|
224
|
-
- ext/nokogiri/
|
225
|
-
|
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
|
-
|
479
|
-
segments:
|
480
|
-
- 0
|
481
|
-
version: "0"
|
443
|
+
requirements:
|
444
|
+
- - ! '>='
|
445
|
+
- !ruby/object:Gem::Version
|
446
|
+
version: '0'
|
482
447
|
requirements: []
|
483
|
-
|
484
|
-
|
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:
|
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/
|
455
|
+
- test/css/test_tokenizer.rb
|
493
456
|
- test/css/test_parser.rb
|
494
|
-
- test/
|
495
|
-
- test/test_encoding_handler.rb
|
457
|
+
- test/css/test_xpath_visitor.rb
|
496
458
|
- test/decorators/test_slop.rb
|
497
|
-
- test/
|
498
|
-
- test/
|
499
|
-
- test/
|
500
|
-
- test/
|
501
|
-
- test/
|
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/
|
504
|
-
- test/
|
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/
|
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/
|
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/
|
528
|
-
- test/xml/
|
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/
|
532
|
-
- test/xml/
|
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/
|
536
|
-
- test/xml/
|
537
|
-
- test/
|
538
|
-
- test/
|
539
|
-
- test/
|
540
|
-
- test/
|
541
|
-
- test/
|
542
|
-
- test/
|
543
|
-
- test/
|
544
|
-
- test/
|
545
|
-
- test/
|
546
|
-
- test/
|
547
|
-
- test/
|
548
|
-
- test/
|
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
|