nokogiri 1.4.4.1-x86-mingw32 → 1.4.5-x86-mingw32

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.

Files changed (56) hide show
  1. data/.gemtest +0 -0
  2. data/CHANGELOG.ja.rdoc +16 -0
  3. data/CHANGELOG.rdoc +22 -0
  4. data/Manifest.txt +4 -3
  5. data/Rakefile +40 -37
  6. data/ext/nokogiri/xml_document.c +9 -0
  7. data/ext/nokogiri/xml_io.c +32 -7
  8. data/ext/nokogiri/xml_node.c +14 -13
  9. data/ext/nokogiri/xml_sax_parser.c +4 -2
  10. data/ext/nokogiri/xslt_stylesheet.c +9 -3
  11. data/lib/nokogiri/1.8/nokogiri.so +0 -0
  12. data/lib/nokogiri/1.9/nokogiri.so +0 -0
  13. data/lib/nokogiri/css.rb +6 -3
  14. data/lib/nokogiri/css/parser.rb +665 -70
  15. data/lib/nokogiri/css/parser.y +3 -1
  16. data/lib/nokogiri/css/parser_extras.rb +91 -0
  17. data/lib/nokogiri/css/tokenizer.rb +148 -3
  18. data/lib/nokogiri/css/tokenizer.rex +1 -1
  19. data/lib/nokogiri/ffi/structs/xml_attr.rb +2 -1
  20. data/lib/nokogiri/ffi/structs/xml_node_set.rb +1 -1
  21. data/lib/nokogiri/ffi/weak_bucket.rb +10 -10
  22. data/lib/nokogiri/ffi/xml/document.rb +8 -0
  23. data/lib/nokogiri/ffi/xml/node_set.rb +1 -0
  24. data/lib/nokogiri/ffi/xml/sax/parser.rb +9 -1
  25. data/lib/nokogiri/ffi/xslt/stylesheet.rb +4 -0
  26. data/lib/nokogiri/html/document.rb +134 -15
  27. data/lib/nokogiri/html/sax/parser.rb +6 -2
  28. data/lib/nokogiri/version.rb +6 -1
  29. data/lib/nokogiri/xml/node.rb +8 -23
  30. data/lib/nokogiri/xml/node/save_options.rb +10 -0
  31. data/lib/nokogiri/xml/node_set.rb +1 -1
  32. data/lib/nokogiri/xml/parse_options.rb +8 -0
  33. data/lib/nokogiri/xml/reader.rb +6 -6
  34. data/lib/nokogiri/xml/sax/document.rb +2 -2
  35. data/lib/nokogiri/xml/schema.rb +7 -1
  36. data/tasks/cross_compile.rb +2 -14
  37. data/test/css/test_tokenizer.rb +8 -0
  38. data/test/files/encoding.html +82 -0
  39. data/test/files/encoding.xhtml +84 -0
  40. data/test/helper.rb +2 -0
  41. data/test/html/sax/test_parser.rb +45 -0
  42. data/test/html/test_document.rb +55 -0
  43. data/test/html/test_document_encoding.rb +46 -0
  44. data/test/html/test_element_description.rb +1 -1
  45. data/test/test_memory_leak.rb +20 -0
  46. data/test/test_reader.rb +13 -0
  47. data/test/test_xslt_transforms.rb +6 -2
  48. data/test/xml/sax/test_parser.rb +16 -0
  49. data/test/xml/test_document.rb +3 -1
  50. data/test/xml/test_node.rb +13 -1
  51. data/test/xml/test_node_set.rb +10 -0
  52. data/test/xml/test_schema.rb +5 -0
  53. metadata +94 -110
  54. data/deps.rip +0 -5
  55. data/lib/nokogiri/css/generated_parser.rb +0 -676
  56. data/lib/nokogiri/css/generated_tokenizer.rb +0 -145
data/test/helper.rb CHANGED
@@ -20,6 +20,8 @@ module Nokogiri
20
20
  NICH_FILE = File.join(ASSETS_DIR, '2ch.html')
21
21
  SHIFT_JIS_XML = File.join(ASSETS_DIR, 'shift_jis.xml')
22
22
  SHIFT_JIS_HTML = File.join(ASSETS_DIR, 'shift_jis.html')
23
+ ENCODING_XHTML_FILE = File.join(ASSETS_DIR, 'encoding.xhtml')
24
+ ENCODING_HTML_FILE = File.join(ASSETS_DIR, 'encoding.html')
23
25
  PO_XML_FILE = File.join(ASSETS_DIR, 'po.xml')
24
26
  PO_SCHEMA_FILE = File.join(ASSETS_DIR, 'po.xsd')
25
27
  ADDRESS_SCHEMA_FILE = File.join(ASSETS_DIR, 'address_book.rlx')
@@ -68,6 +68,51 @@ module Nokogiri
68
68
  assert_equal([["html", []], ["body", []], ["p", []], ["p", []]],
69
69
  @parser.document.start_elements)
70
70
  end
71
+
72
+ def test_parser_attributes
73
+ html = <<-eohtml
74
+ <html>
75
+ <head>
76
+ <title>hello</title>
77
+ </head>
78
+ <body>
79
+ <img src="face.jpg" title="daddy &amp; me">
80
+ <hr noshade size="2">
81
+ </body>
82
+ </html>
83
+ eohtml
84
+
85
+ block_called = false
86
+ @parser.parse(html) { |ctx|
87
+ block_called = true
88
+ ctx.replace_entities = true
89
+ }
90
+
91
+ assert block_called
92
+
93
+ noshade_value = if Nokogiri.uses_libxml? && Nokogiri::VERSION_INFO['libxml']['loaded'] < '2.7.7'
94
+ ['noshade', 'noshade']
95
+ elsif Nokogiri.jruby?
96
+ ['noshade', '']
97
+ else
98
+ ['noshade', nil]
99
+ end
100
+
101
+ assert_equal [
102
+ ['html', []],
103
+ ['head', []],
104
+ ['title', []],
105
+ ['body', []],
106
+ ['img', [
107
+ ['src', 'face.jpg'],
108
+ ['title', 'daddy & me']
109
+ ]],
110
+ ['hr', [
111
+ noshade_value,
112
+ ['size', '2']
113
+ ]]
114
+ ], @parser.document.start_elements
115
+ end
71
116
  end
72
117
  end
73
118
  end
@@ -119,6 +119,18 @@ module Nokogiri
119
119
 
120
120
  def test_meta_encoding
121
121
  assert_equal 'UTF-8', @html.meta_encoding
122
+
123
+ html = Nokogiri::HTML(<<-eohtml)
124
+ <html>
125
+ <head>
126
+ <meta http-equiv="X-Content-Type" content="text/html; charset=Shift_JIS">
127
+ </head>
128
+ <body>
129
+ foo
130
+ </body>
131
+ </html>
132
+ eohtml
133
+ assert_nil html.meta_encoding
122
134
  end
123
135
 
124
136
  def test_meta_encoding=
@@ -126,6 +138,49 @@ module Nokogiri
126
138
  assert_equal 'EUC-JP', @html.meta_encoding
127
139
  end
128
140
 
141
+ def test_title
142
+ assert_equal 'Tender Lovemaking ', @html.title
143
+ doc = Nokogiri::HTML('<html><body>foo</body></html>')
144
+ assert_nil doc.title
145
+ end
146
+
147
+ def test_title=()
148
+ doc = Nokogiri::HTML(<<eohtml)
149
+ <html>
150
+ <head>
151
+ <title>old</title>
152
+ </head>
153
+ <body>
154
+ foo
155
+ </body>
156
+ </html>
157
+ eohtml
158
+ doc.title = 'new'
159
+ assert_equal 'new', doc.title
160
+
161
+ doc = Nokogiri::HTML(<<eohtml)
162
+ <html>
163
+ <head>
164
+ </head>
165
+ <body>
166
+ foo
167
+ </body>
168
+ </html>
169
+ eohtml
170
+ doc.title = 'new'
171
+ assert_equal 'new', doc.title
172
+
173
+ doc = Nokogiri::HTML(<<eohtml)
174
+ <html>
175
+ <body>
176
+ foo
177
+ </body>
178
+ </html>
179
+ eohtml
180
+ doc.title = 'new'
181
+ assert_nil doc.title
182
+ end
183
+
129
184
  def test_meta_encoding_without_head
130
185
  html = Nokogiri::HTML('<html><body>foo</body></html>')
131
186
  assert_nil html.meta_encoding
@@ -73,5 +73,51 @@ module Nokogiri
73
73
  end
74
74
  end
75
75
  end
76
+
77
+ class TestDocumentEncodingDetection < Nokogiri::TestCase
78
+ if IO.respond_to?(:binread)
79
+ def binread(file)
80
+ IO.binread(file)
81
+ end
82
+ else
83
+ def binread(file)
84
+ IO.read(file)
85
+ end
86
+ end
87
+
88
+ def binopen(file)
89
+ File.open(file, 'rb')
90
+ end
91
+
92
+ def test_document_xhtml_enc
93
+ [ENCODING_XHTML_FILE, ENCODING_HTML_FILE].each { |file|
94
+ doc_from_string_enc = Nokogiri::HTML(binread(file), nil, 'Shift_JIS')
95
+ ary_from_string_enc = doc_from_string_enc.xpath('//p/text()').map { |text| text.text }
96
+
97
+ doc_from_string = Nokogiri::HTML(binread(file))
98
+ ary_from_string = doc_from_string.xpath('//p/text()').map { |text| text.text }
99
+
100
+ doc_from_file_enc = Nokogiri::HTML(binopen(file), nil, 'Shift_JIS')
101
+ ary_from_file_enc = doc_from_file_enc.xpath('//p/text()').map { |text| text.text }
102
+
103
+ doc_from_file = Nokogiri::HTML(binopen(file))
104
+ ary_from_file = doc_from_file.xpath('//p/text()').map { |text| text.text }
105
+
106
+ title = 'たこ焼き仮面'
107
+
108
+ assert_equal(title, doc_from_string_enc.at('//title/text()').text)
109
+ assert_equal(title, doc_from_string.at('//title/text()').text)
110
+ assert_equal(title, doc_from_file_enc.at('//title/text()').text)
111
+ assert_equal(title, doc_from_file.at('//title/text()').text)
112
+
113
+ evil = (0..72).map { |i| '超' * i + '悪い事を構想中。' }
114
+
115
+ assert_equal(evil, ary_from_string_enc)
116
+ assert_equal(evil, ary_from_string)
117
+ assert_equal(evil, ary_from_file_enc)
118
+ assert_equal(evil, ary_from_file)
119
+ }
120
+ end
121
+ end
76
122
  end
77
123
  end
@@ -56,7 +56,7 @@ module Nokogiri
56
56
 
57
57
  def test_subelements
58
58
  sub_elements = ElementDescription['body'].sub_elements
59
- if Nokogiri::LIBXML_VERSION == '2.7.7'
59
+ if Nokogiri::LIBXML_VERSION >= '2.7.7'
60
60
  assert_equal 65, sub_elements.length
61
61
  else
62
62
  assert_equal 61, sub_elements.length
@@ -13,6 +13,26 @@ class TestMemoryLeak < Nokogiri::TestCase
13
13
  GC.start
14
14
  end
15
15
  end
16
+
17
+ class BadIO
18
+ def read(*args)
19
+ raise 'hell'
20
+ end
21
+
22
+ def write(*args)
23
+ raise 'chickens'
24
+ end
25
+ end
26
+
27
+ def test_for_mem_leak_on_io_callbacks
28
+ io = File.open SNUGGLES_FILE
29
+ reader = Nokogiri::XML.parse(io)
30
+
31
+ (10**10).times do
32
+ Nokogiri::XML.parse(BadIO.new) rescue nil
33
+ doc.write BadIO.new rescue nil
34
+ end
35
+ end
16
36
 
17
37
  def test_for_memory_leak
18
38
  begin
data/test/test_reader.rb CHANGED
@@ -81,6 +81,19 @@ class TestReader < Nokogiri::TestCase
81
81
  assert_equal [false, false, false, false, false, false, false],
82
82
  reader.map { |x| x.default? }
83
83
  end
84
+
85
+ class ReallyBadIO
86
+ def read(size)
87
+ 'a' * size ** 10
88
+ end
89
+ end
90
+
91
+ unless Nokogiri.ffi?
92
+ def test_io_that_reads_too_much
93
+ io = ReallyBadIO.new
94
+ Nokogiri::XML::Reader(io)
95
+ end
96
+ end
84
97
 
85
98
  def test_in_memory
86
99
  assert Nokogiri::XML::Reader(<<-eoxml)
@@ -1,7 +1,6 @@
1
1
  require "helper"
2
2
 
3
3
  class TestXsltTransforms < Nokogiri::TestCase
4
-
5
4
  def setup
6
5
  @doc = Nokogiri::XML(File.open(XML_FILE))
7
6
  end
@@ -179,11 +178,16 @@ encoding="iso-8859-1" indent="yes"/>
179
178
  assert_raises(RuntimeError) { Nokogiri::XSLT.parse(xslt_str) }
180
179
  end
181
180
 
181
+ def test_passing_a_non_document_to_transform
182
+ xsl = Nokogiri::XSLT('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></xsl:stylesheet>')
183
+ assert_raises(ArgumentError) { xsl.transform("<div></div>") }
184
+ assert_raises(ArgumentError) { xsl.transform(Nokogiri::HTML("").css("body")) }
185
+ end
186
+
182
187
  def check_params result_doc, params
183
188
  result_doc.xpath('/root/params/*').each do |p|
184
189
  assert_equal p.content, params[p.name.intern]
185
190
  end
186
191
  end
187
-
188
192
  end
189
193
  end
@@ -309,6 +309,22 @@ module Nokogiri
309
309
  <p>Paragraph 2</p>
310
310
  eoxml
311
311
  end
312
+
313
+ def test_parser_attributes
314
+ xml = <<-eoxml
315
+ <?xml version="1.0" ?><root><foo a="&amp;b" c="&gt;d" /></root>
316
+ eoxml
317
+
318
+ block_called = false
319
+ @parser.parse(xml) { |ctx|
320
+ block_called = true
321
+ ctx.replace_entities = true
322
+ }
323
+
324
+ assert block_called
325
+
326
+ assert_equal [['root', []], ['foo', [['a', '&b'], ['c', '>d']]]], @parser.document.start_elements
327
+ end
312
328
  end
313
329
  end
314
330
  end
@@ -606,7 +606,7 @@ module Nokogiri
606
606
  <a:foo>hello from a</a:foo>
607
607
  <b:foo>hello from b</b:foo>
608
608
  <container xmlns:c="http://c.flavorjon.es/">
609
- <c:foo>hello from c</c:foo>
609
+ <c:foo c:attr='attr-value'>hello from c</c:foo>
610
610
  </container>
611
611
  </root>
612
612
  EOX
@@ -620,6 +620,7 @@ module Nokogiri
620
620
  assert_equal 1, doc.xpath("//a:foo").length
621
621
  assert_equal 1, doc.xpath("//a:foo").length
622
622
  assert_equal 1, doc.xpath("//x:foo", "x" => "http://c.flavorjon.es/").length
623
+ assert_match %r{foo c:attr}, doc.to_xml
623
624
 
624
625
  doc.remove_namespaces!
625
626
 
@@ -629,6 +630,7 @@ module Nokogiri
629
630
  assert_equal 0, doc.xpath("//a:foo", namespaces).length
630
631
  assert_equal 0, doc.xpath("//a:foo", namespaces).length
631
632
  assert_equal 0, doc.xpath("//x:foo", "x" => "http://c.flavorjon.es/").length
633
+ assert_match %r{foo attr}, doc.to_xml
632
634
  end
633
635
 
634
636
  def test_subset_is_decorated
@@ -497,7 +497,9 @@ module Nokogiri
497
497
  end
498
498
  io.rewind
499
499
  assert called
500
- assert_equal @xml.serialize(nil, conf.options), io.read
500
+ string = io.read
501
+ assert_equal @xml.serialize(nil, conf.options), string
502
+ assert_equal @xml.serialize(nil, conf), string
501
503
  end
502
504
 
503
505
  %w{ xml html xhtml }.each do |type|
@@ -519,6 +521,7 @@ module Nokogiri
519
521
  end
520
522
  assert called
521
523
  assert_equal @xml.serialize(nil, conf.options), string
524
+ assert_equal @xml.serialize(nil, conf), string
522
525
  end
523
526
 
524
527
  def test_hold_refence_to_subnode
@@ -696,6 +699,15 @@ module Nokogiri
696
699
  assert_equal('/staff/employee[1]', node.path)
697
700
  end
698
701
 
702
+ def test_parent_xpath
703
+ assert set = @xml.search('//employee')
704
+ assert node = set.first
705
+ assert parent_set = node.search('..')
706
+ assert parent_node = parent_set.first
707
+ assert_equal '/staff', parent_node.path
708
+ assert_equal node.parent, parent_node
709
+ end
710
+
699
711
  def test_search_by_symbol
700
712
  assert set = @xml.search(:employee)
701
713
  assert 5, set.length
@@ -158,6 +158,16 @@ module Nokogiri
158
158
  set = html.xpath("/html/body/div")
159
159
  assert_equal set.first, set.search(".a").first
160
160
  end
161
+
162
+ def test_css_search_with_namespace
163
+ fragment = Nokogiri::XML.fragment(<<-eoxml)
164
+ <html xmlns="http://www.w3.org/1999/xhtml">
165
+ <head></head>
166
+ <body></body>
167
+ </html>
168
+ eoxml
169
+ assert_nothing_raised{ fragment.children.search( 'body', { 'xmlns' => 'http://www.w3.org/1999/xhtml' }) }
170
+ end
161
171
 
162
172
  def test_double_equal
163
173
  assert node_set_one = @xml.xpath('//employee')
@@ -74,6 +74,11 @@ module Nokogiri
74
74
  assert_equal 2, errors.length
75
75
  end
76
76
 
77
+ def test_validate_non_document
78
+ string = File.read(PO_XML_FILE)
79
+ assert_raise(ArgumentError) {@xsd.validate(string)}
80
+ end
81
+
77
82
  def test_valid?
78
83
  valid_doc = Nokogiri::XML(File.read(PO_XML_FILE))
79
84
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- hash: 109
5
- prerelease: false
4
+ hash: 13
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 4
9
- - 4
10
- - 1
11
- version: 1.4.4.1
9
+ - 5
10
+ version: 1.4.5
12
11
  platform: x86-mingw32
13
12
  authors:
14
13
  - Aaron Patterson
@@ -17,27 +16,25 @@ autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2010-11-17 00:00:00 -05:00
19
+ date: 2011-06-16 00:00:00 -04:00
21
20
  default_executable:
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency
24
- name: rubyforge
23
+ name: racc
25
24
  prerelease: false
26
25
  requirement: &id001 !ruby/object:Gem::Requirement
27
26
  none: false
28
27
  requirements:
29
28
  - - ">="
30
29
  - !ruby/object:Gem::Version
31
- hash: 7
30
+ hash: 3
32
31
  segments:
33
- - 2
34
32
  - 0
35
- - 4
36
- version: 2.0.4
33
+ version: "0"
37
34
  type: :development
38
35
  version_requirements: *id001
39
36
  - !ruby/object:Gem::Dependency
40
- name: racc
37
+ name: rexical
41
38
  prerelease: false
42
39
  requirement: &id002 !ruby/object:Gem::Requirement
43
40
  none: false
@@ -51,7 +48,7 @@ dependencies:
51
48
  type: :development
52
49
  version_requirements: *id002
53
50
  - !ruby/object:Gem::Dependency
54
- name: rexical
51
+ name: rake-compiler
55
52
  prerelease: false
56
53
  requirement: &id003 !ruby/object:Gem::Requirement
57
54
  none: false
@@ -64,24 +61,10 @@ dependencies:
64
61
  version: "0"
65
62
  type: :development
66
63
  version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: rake-compiler
69
- prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
71
- none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
79
- type: :development
80
- version_requirements: *id004
81
64
  - !ruby/object:Gem::Dependency
82
65
  name: minitest
83
66
  prerelease: false
84
- requirement: &id005 !ruby/object:Gem::Requirement
67
+ requirement: &id004 !ruby/object:Gem::Requirement
85
68
  none: false
86
69
  requirements:
87
70
  - - ">="
@@ -93,23 +76,23 @@ dependencies:
93
76
  - 0
94
77
  version: 1.6.0
95
78
  type: :development
96
- version_requirements: *id005
79
+ version_requirements: *id004
97
80
  - !ruby/object:Gem::Dependency
98
81
  name: hoe
99
82
  prerelease: false
100
- requirement: &id006 !ruby/object:Gem::Requirement
83
+ requirement: &id005 !ruby/object:Gem::Requirement
101
84
  none: false
102
85
  requirements:
103
86
  - - ">="
104
87
  - !ruby/object:Gem::Version
105
- hash: 19
88
+ hash: 35
106
89
  segments:
107
90
  - 2
108
- - 6
109
- - 2
110
- version: 2.6.2
91
+ - 9
92
+ - 4
93
+ version: 2.9.4
111
94
  type: :development
112
- version_requirements: *id006
95
+ version_requirements: *id005
113
96
  description: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's\n\
114
97
  many features is the ability to search documents via XPath or CSS3 selectors.\n\n\
115
98
  XML is like violence - if it doesn\xE2\x80\x99t solve your problems, you are not using\n\
@@ -123,45 +106,46 @@ extensions: []
123
106
 
124
107
  extra_rdoc_files:
125
108
  - Manifest.txt
109
+ - README.ja.rdoc
126
110
  - CHANGELOG.rdoc
127
111
  - CHANGELOG.ja.rdoc
128
112
  - README.rdoc
129
- - README.ja.rdoc
130
- - ext/nokogiri/xml_io.c
131
- - ext/nokogiri/xml_sax_parser.c
132
- - ext/nokogiri/xml_xpath_context.c
133
- - ext/nokogiri/html_element_description.c
134
- - ext/nokogiri/xml_libxml2_hacks.c
135
- - ext/nokogiri/xml_sax_parser_context.c
136
113
  - ext/nokogiri/xml_sax_push_parser.c
137
- - ext/nokogiri/xml_attribute_decl.c
114
+ - ext/nokogiri/xml_relax_ng.c
115
+ - ext/nokogiri/html_sax_parser_context.c
116
+ - ext/nokogiri/html_entity_lookup.c
117
+ - ext/nokogiri/xml_text.c
138
118
  - ext/nokogiri/nokogiri.c
139
119
  - ext/nokogiri/xml_element_decl.c
140
- - ext/nokogiri/xml_element_content.c
141
- - ext/nokogiri/html_entity_lookup.c
142
- - ext/nokogiri/xml_dtd.c
120
+ - ext/nokogiri/xml_encoding_handler.c
121
+ - ext/nokogiri/html_document.c
143
122
  - ext/nokogiri/xslt_stylesheet.c
144
- - ext/nokogiri/xml_node_set.c
123
+ - ext/nokogiri/xml_attribute_decl.c
124
+ - ext/nokogiri/xml_io.c
145
125
  - ext/nokogiri/xml_document_fragment.c
146
- - ext/nokogiri/xml_text.c
147
- - ext/nokogiri/xml_entity_reference.c
148
- - ext/nokogiri/html_sax_parser_context.c
149
- - ext/nokogiri/xml_comment.c
150
126
  - ext/nokogiri/xml_namespace.c
151
- - ext/nokogiri/xml_entity_decl.c
152
- - ext/nokogiri/xml_node.c
153
- - ext/nokogiri/html_document.c
127
+ - ext/nokogiri/xml_libxml2_hacks.c
128
+ - ext/nokogiri/xml_sax_parser_context.c
129
+ - ext/nokogiri/xml_comment.c
130
+ - ext/nokogiri/xml_sax_parser.c
131
+ - ext/nokogiri/html_element_description.c
132
+ - ext/nokogiri/xml_xpath_context.c
154
133
  - ext/nokogiri/xml_syntax_error.c
155
134
  - ext/nokogiri/xml_document.c
156
- - ext/nokogiri/xml_cdata.c
135
+ - ext/nokogiri/xml_entity_decl.c
136
+ - ext/nokogiri/xml_node.c
137
+ - ext/nokogiri/xml_node_set.c
157
138
  - ext/nokogiri/xml_reader.c
158
- - ext/nokogiri/xml_attr.c
159
139
  - ext/nokogiri/xml_processing_instruction.c
140
+ - ext/nokogiri/xml_element_content.c
141
+ - ext/nokogiri/xml_dtd.c
142
+ - ext/nokogiri/xml_attr.c
160
143
  - ext/nokogiri/xml_schema.c
161
- - ext/nokogiri/xml_encoding_handler.c
162
- - ext/nokogiri/xml_relax_ng.c
144
+ - ext/nokogiri/xml_cdata.c
145
+ - ext/nokogiri/xml_entity_reference.c
163
146
  files:
164
147
  - .autotest
148
+ - .gemtest
165
149
  - CHANGELOG.ja.rdoc
166
150
  - CHANGELOG.rdoc
167
151
  - Manifest.txt
@@ -169,7 +153,6 @@ files:
169
153
  - README.rdoc
170
154
  - Rakefile
171
155
  - bin/nokogiri
172
- - deps.rip
173
156
  - ext/nokogiri/depend
174
157
  - ext/nokogiri/extconf.rb
175
158
  - ext/nokogiri/html_document.c
@@ -240,11 +223,10 @@ files:
240
223
  - ext/nokogiri/xslt_stylesheet.h
241
224
  - lib/nokogiri.rb
242
225
  - lib/nokogiri/css.rb
243
- - lib/nokogiri/css/generated_parser.rb
244
- - lib/nokogiri/css/generated_tokenizer.rb
245
226
  - lib/nokogiri/css/node.rb
246
227
  - lib/nokogiri/css/parser.rb
247
228
  - lib/nokogiri/css/parser.y
229
+ - lib/nokogiri/css/parser_extras.rb
248
230
  - lib/nokogiri/css/syntax_error.rb
249
231
  - lib/nokogiri/css/tokenizer.rb
250
232
  - lib/nokogiri/css/tokenizer.rex
@@ -376,6 +358,8 @@ files:
376
358
  - test/files/address_book.xml
377
359
  - test/files/bar/bar.xsd
378
360
  - test/files/dont_hurt_em_why.xml
361
+ - test/files/encoding.html
362
+ - test/files/encoding.xhtml
379
363
  - test/files/exslt.xml
380
364
  - test/files/exslt.xslt
381
365
  - test/files/foo/foo.xsd
@@ -477,67 +461,67 @@ required_rubygems_version: !ruby/object:Gem::Requirement
477
461
  requirements: []
478
462
 
479
463
  rubyforge_project: nokogiri
480
- rubygems_version: 1.3.7
464
+ rubygems_version: 1.6.0
481
465
  signing_key:
482
466
  specification_version: 3
483
467
  summary: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser"
484
468
  test_files:
485
- - test/test_reader.rb
469
+ - test/test_convert_xpath.rb
470
+ - test/test_soap4r_sax.rb
471
+ - test/test_memory_leak.rb
472
+ - test/test_nokogiri.rb
486
473
  - test/test_css_cache.rb
487
- - test/test_encoding_handler.rb
474
+ - test/css/test_nthiness.rb
475
+ - test/css/test_xpath_visitor.rb
476
+ - test/css/test_parser.rb
477
+ - test/css/test_tokenizer.rb
488
478
  - test/decorators/test_slop.rb
489
- - test/test_memory_leak.rb
490
- - test/xml/test_document_encoding.rb
491
- - test/xml/test_relax_ng.rb
492
- - test/xml/test_text.rb
493
- - test/xml/test_node_reparenting.rb
494
- - test/xml/test_syntax_error.rb
479
+ - test/html/test_document.rb
480
+ - test/html/test_document_encoding.rb
481
+ - test/html/test_named_characters.rb
482
+ - test/html/test_document_fragment.rb
483
+ - test/html/test_node.rb
484
+ - test/html/test_builder.rb
485
+ - test/html/sax/test_parser_context.rb
486
+ - test/html/sax/test_parser.rb
487
+ - test/html/test_node_encoding.rb
488
+ - test/html/test_element_description.rb
489
+ - test/ffi/test_document.rb
490
+ - test/test_reader.rb
491
+ - test/xml/test_parse_options.rb
495
492
  - test/xml/test_unparented_node.rb
496
- - test/xml/test_node_encoding.rb
497
- - test/xml/test_reader_encoding.rb
498
- - test/xml/test_processing_instruction.rb
499
- - test/xml/test_cdata.rb
500
- - test/xml/test_node.rb
501
- - test/xml/test_builder.rb
502
- - test/xml/test_namespace.rb
493
+ - test/xml/test_element_decl.rb
503
494
  - test/xml/test_document.rb
504
- - test/xml/test_element_content.rb
505
- - test/xml/test_document_fragment.rb
506
- - test/xml/test_entity_reference.rb
507
- - test/xml/test_attr.rb
508
495
  - test/xml/test_dtd.rb
509
- - test/xml/sax/test_parser.rb
510
- - test/xml/sax/test_parser_context.rb
511
- - test/xml/sax/test_push_parser.rb
512
- - test/xml/test_element_decl.rb
513
- - test/xml/test_node_attributes.rb
514
- - test/xml/test_xpath.rb
515
- - test/xml/test_node_set.rb
516
- - test/xml/test_parse_options.rb
496
+ - test/xml/test_document_encoding.rb
517
497
  - test/xml/test_entity_decl.rb
498
+ - test/xml/test_dtd_encoding.rb
518
499
  - test/xml/node/test_save_options.rb
519
500
  - test/xml/node/test_subclass.rb
520
- - test/xml/test_attribute_decl.rb
501
+ - test/xml/test_document_fragment.rb
502
+ - test/xml/test_cdata.rb
503
+ - test/xml/test_text.rb
504
+ - test/xml/test_reader_encoding.rb
505
+ - test/xml/test_xpath.rb
506
+ - test/xml/test_element_content.rb
507
+ - test/xml/test_node.rb
508
+ - test/xml/test_builder.rb
509
+ - test/xml/sax/test_push_parser.rb
510
+ - test/xml/sax/test_parser_context.rb
511
+ - test/xml/sax/test_parser.rb
521
512
  - test/xml/test_schema.rb
522
- - test/xml/test_dtd_encoding.rb
513
+ - test/xml/test_node_set.rb
514
+ - test/xml/test_attr.rb
515
+ - test/xml/test_processing_instruction.rb
516
+ - test/xml/test_node_encoding.rb
517
+ - test/xml/test_syntax_error.rb
523
518
  - test/xml/test_comment.rb
524
- - test/test_nokogiri.rb
525
- - test/html/test_document_encoding.rb
526
- - test/html/test_node_encoding.rb
527
- - test/html/test_node.rb
528
- - test/html/test_builder.rb
529
- - test/html/test_document.rb
530
- - test/html/test_document_fragment.rb
531
- - test/html/sax/test_parser.rb
532
- - test/html/sax/test_parser_context.rb
533
- - test/html/test_named_characters.rb
534
- - test/html/test_element_description.rb
535
- - test/ffi/test_document.rb
536
- - test/test_convert_xpath.rb
537
- - test/test_soap4r_sax.rb
538
- - test/css/test_nthiness.rb
539
- - test/css/test_parser.rb
540
- - test/css/test_tokenizer.rb
541
- - test/css/test_xpath_visitor.rb
542
- - test/xslt/test_custom_functions.rb
519
+ - test/xml/test_entity_reference.rb
520
+ - test/xml/test_node_reparenting.rb
521
+ - test/xml/test_attribute_decl.rb
522
+ - test/xml/test_relax_ng.rb
523
+ - test/xml/test_namespace.rb
524
+ - test/xml/test_node_attributes.rb
543
525
  - test/test_xslt_transforms.rb
526
+ - test/xslt/test_custom_functions.rb
527
+ - test/test_encoding_handler.rb