hpricot 0.7-x86-mswin32 → 0.8-x86-mswin32
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 +7 -0
- data/Rakefile +1 -1
- data/ext/fast_xs/fast_xs.c +1 -0
- data/ext/hpricot_scan/hpricot_css.c +2109 -2105
- data/ext/hpricot_scan/hpricot_scan.c +944 -880
- data/ext/hpricot_scan/hpricot_scan.rl +255 -191
- data/lib/fast_xs.so +0 -0
- data/lib/hpricot/inspect.rb +2 -2
- data/lib/hpricot/modules.rb +2 -0
- data/lib/hpricot/tag.rb +12 -10
- data/lib/hpricot_scan.so +0 -0
- data/test/test_parser.rb +11 -0
- metadata +2 -2
data/lib/fast_xs.so
CHANGED
Binary file
|
data/lib/hpricot/inspect.rb
CHANGED
@@ -11,7 +11,7 @@ module Hpricot
|
|
11
11
|
|
12
12
|
class Doc
|
13
13
|
def pretty_print(q)
|
14
|
-
q.object_group(self) { children.each {|elt| q.breakable; q.pp elt } }
|
14
|
+
q.object_group(self) { children.each {|elt| q.breakable; q.pp elt } if children }
|
15
15
|
end
|
16
16
|
alias inspect pretty_print_inspect
|
17
17
|
end
|
@@ -47,7 +47,7 @@ module Hpricot
|
|
47
47
|
children.each {|elt| q.breakable; q.pp elt }
|
48
48
|
end
|
49
49
|
if etag
|
50
|
-
q.breakable; q.
|
50
|
+
q.breakable; q.text etag
|
51
51
|
end
|
52
52
|
}
|
53
53
|
end
|
data/lib/hpricot/modules.rb
CHANGED
@@ -8,11 +8,13 @@ module Hpricot
|
|
8
8
|
# :startdoc:
|
9
9
|
|
10
10
|
module Node; include Hpricot end
|
11
|
+
class ETag; include Node end
|
11
12
|
module Container; include Node end
|
12
13
|
class Doc; include Container end
|
13
14
|
class Elem; include Container end
|
14
15
|
|
15
16
|
module Leaf; include Node end
|
17
|
+
class CData; include Leaf end
|
16
18
|
class Text; include Leaf end
|
17
19
|
class XMLDecl; include Leaf end
|
18
20
|
class DocType; include Leaf end
|
data/lib/hpricot/tag.rb
CHANGED
@@ -17,10 +17,11 @@ module Hpricot
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
|
20
|
+
module Node
|
21
21
|
def html_quote(str)
|
22
22
|
"\"" + str.gsub('"', '\\"') + "\""
|
23
23
|
end
|
24
|
+
def clear_raw; end
|
24
25
|
def if_output(opts)
|
25
26
|
if opts[:preserve] and not raw_string.nil?
|
26
27
|
raw_string
|
@@ -77,13 +78,10 @@ module Hpricot
|
|
77
78
|
if children
|
78
79
|
children.each { |n| n.output(out, opts) }
|
79
80
|
end
|
80
|
-
if
|
81
|
-
|
82
|
-
elsif
|
83
|
-
out <<
|
84
|
-
if_output(opts) do
|
85
|
-
"</#{name}>"
|
86
|
-
end
|
81
|
+
if opts[:preserve]
|
82
|
+
out << etag if etag
|
83
|
+
elsif etag or !empty?
|
84
|
+
out << "</#{name}>"
|
87
85
|
end
|
88
86
|
out
|
89
87
|
end
|
@@ -101,7 +99,7 @@ module Hpricot
|
|
101
99
|
end
|
102
100
|
end
|
103
101
|
|
104
|
-
class
|
102
|
+
class BogusETag
|
105
103
|
def initialize name; self.name = name end
|
106
104
|
def output(out, opts = {})
|
107
105
|
out <<
|
@@ -111,7 +109,7 @@ module Hpricot
|
|
111
109
|
end
|
112
110
|
end
|
113
111
|
|
114
|
-
class BogusETag
|
112
|
+
class ETag < BogusETag
|
115
113
|
def output(out, opts = {}); out << if_output(opts) { '' }; end
|
116
114
|
end
|
117
115
|
|
@@ -136,6 +134,8 @@ module Hpricot
|
|
136
134
|
def initialize content; self.content = content end
|
137
135
|
alias_method :to_s, :content
|
138
136
|
alias_method :to_plain_text, :content
|
137
|
+
alias_method :inner_text, :content
|
138
|
+
def raw_string; "<![CDATA[#{content}]]>" end
|
139
139
|
def output(out, opts = {})
|
140
140
|
out <<
|
141
141
|
if_output(opts) do
|
@@ -174,6 +174,7 @@ module Hpricot
|
|
174
174
|
|
175
175
|
class ProcIns
|
176
176
|
def pathname; "procins()" end
|
177
|
+
def raw_string; output("") end
|
177
178
|
def output(out, opts = {})
|
178
179
|
out <<
|
179
180
|
if_output(opts) do
|
@@ -186,6 +187,7 @@ module Hpricot
|
|
186
187
|
|
187
188
|
class Comment
|
188
189
|
def pathname; "comment()" end
|
190
|
+
def raw_string; "<!--#{content}-->" end
|
189
191
|
def output(out, opts = {})
|
190
192
|
out <<
|
191
193
|
if_output(opts) do
|
data/lib/hpricot_scan.so
CHANGED
Binary file
|
data/test/test_parser.rb
CHANGED
@@ -406,4 +406,15 @@ class TestParser < Test::Unit::TestCase
|
|
406
406
|
assert_equal "\303\251", Hpricot.uxs('é')
|
407
407
|
end
|
408
408
|
end
|
409
|
+
|
410
|
+
def test_cdata_inner_text
|
411
|
+
xml = Hpricot.XML(%{
|
412
|
+
<peon>
|
413
|
+
<id>96586</id>
|
414
|
+
<stdout><![CDATA[This is STDOUT]]></stdout>
|
415
|
+
<stderr><!-- IGNORE --><![CDATA[This is]]> STDERR</stderr>
|
416
|
+
</peon>})
|
417
|
+
assert_equal "This is STDOUT", (xml/:peon/:stdout).inner_text
|
418
|
+
assert_equal "This is STDERR", (xml/:peon/:stderr).inner_text
|
419
|
+
end
|
409
420
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hpricot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "0.
|
4
|
+
version: "0.8"
|
5
5
|
platform: x86-mswin32
|
6
6
|
authors:
|
7
7
|
- why the lucky stiff
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-04-01 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|