nokogiri 1.5.0.beta.3 → 1.5.0.beta.4

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 (87) hide show
  1. data/CHANGELOG.ja.rdoc +32 -16
  2. data/CHANGELOG.rdoc +18 -0
  3. data/Manifest.txt +1 -2
  4. data/README.rdoc +27 -3
  5. data/Rakefile +39 -83
  6. data/ext/java/nokogiri/EncodingHandler.java +1 -1
  7. data/ext/java/nokogiri/HtmlDocument.java +11 -14
  8. data/ext/java/nokogiri/HtmlElementDescription.java +1 -1
  9. data/ext/java/nokogiri/HtmlEntityLookup.java +1 -1
  10. data/ext/java/nokogiri/HtmlSaxParserContext.java +13 -10
  11. data/ext/java/nokogiri/NokogiriService.java +103 -34
  12. data/ext/java/nokogiri/XmlAttr.java +14 -6
  13. data/ext/java/nokogiri/XmlAttributeDecl.java +1 -1
  14. data/ext/java/nokogiri/XmlCdata.java +3 -1
  15. data/ext/java/nokogiri/XmlComment.java +3 -1
  16. data/ext/java/nokogiri/XmlDocument.java +29 -8
  17. data/ext/java/nokogiri/XmlDocumentFragment.java +14 -13
  18. data/ext/java/nokogiri/XmlDtd.java +5 -2
  19. data/ext/java/nokogiri/XmlElement.java +2 -1
  20. data/ext/java/nokogiri/XmlElementContent.java +1 -1
  21. data/ext/java/nokogiri/XmlElementDecl.java +2 -1
  22. data/ext/java/nokogiri/XmlEntityDecl.java +2 -1
  23. data/ext/java/nokogiri/XmlEntityReference.java +1 -1
  24. data/ext/java/nokogiri/XmlNamespace.java +3 -2
  25. data/ext/java/nokogiri/XmlNode.java +17 -10
  26. data/ext/java/nokogiri/XmlNodeSet.java +40 -13
  27. data/ext/java/nokogiri/XmlProcessingInstruction.java +1 -1
  28. data/ext/java/nokogiri/XmlReader.java +3 -1
  29. data/ext/java/nokogiri/XmlRelaxng.java +37 -92
  30. data/ext/java/nokogiri/XmlSaxParserContext.java +25 -11
  31. data/ext/java/nokogiri/XmlSaxPushParser.java +6 -4
  32. data/ext/java/nokogiri/XmlSchema.java +190 -46
  33. data/ext/java/nokogiri/XmlSyntaxError.java +42 -37
  34. data/ext/java/nokogiri/XmlText.java +3 -2
  35. data/ext/java/nokogiri/XmlXpathContext.java +8 -4
  36. data/ext/java/nokogiri/XsltStylesheet.java +12 -10
  37. data/ext/java/nokogiri/internals/HtmlDomParserContext.java +8 -7
  38. data/ext/java/nokogiri/internals/NokogiriDocumentCache.java +1 -1
  39. data/ext/java/nokogiri/internals/NokogiriErrorHandler.java +11 -5
  40. data/ext/java/nokogiri/internals/NokogiriHandler.java +36 -9
  41. data/ext/java/nokogiri/internals/NokogiriHelpers.java +21 -22
  42. data/ext/java/nokogiri/internals/NokogiriNamespaceCache.java +5 -4
  43. data/ext/java/nokogiri/internals/NokogiriNamespaceContext.java +1 -1
  44. data/ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler.java +2 -1
  45. data/ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler4NekoHtml.java +1 -1
  46. data/ext/java/nokogiri/internals/NokogiriStrictErrorHandler.java +2 -1
  47. data/ext/java/nokogiri/internals/NokogiriXPathFunction.java +15 -9
  48. data/ext/java/nokogiri/internals/NokogiriXPathFunctionResolver.java +1 -1
  49. data/ext/java/nokogiri/internals/ParserContext.java +18 -7
  50. data/ext/java/nokogiri/internals/PushInputStream.java +1 -1
  51. data/ext/java/nokogiri/internals/ReaderNode.java +7 -6
  52. data/ext/java/nokogiri/internals/SaveContext.java +16 -10
  53. data/ext/java/nokogiri/internals/SchemaErrorHandler.java +13 -5
  54. data/ext/java/nokogiri/internals/XmlDeclHandler.java +1 -1
  55. data/ext/java/nokogiri/internals/XmlDomParser.java +1 -1
  56. data/ext/java/nokogiri/internals/XmlDomParserContext.java +13 -8
  57. data/ext/java/nokogiri/internals/XmlSaxParser.java +1 -1
  58. data/ext/java/nokogiri/internals/XsltExtensionFunction.java +1 -1
  59. data/ext/nokogiri/extconf.rb +3 -3
  60. data/ext/nokogiri/xml_document.c +9 -0
  61. data/ext/nokogiri/xml_sax_parser.c +4 -2
  62. data/lib/nokogiri.rb +9 -6
  63. data/lib/nokogiri/css.rb +1 -3
  64. data/lib/nokogiri/css/parser.rb +665 -70
  65. data/lib/nokogiri/css/parser.y +3 -1
  66. data/lib/nokogiri/css/parser_extras.rb +91 -0
  67. data/lib/nokogiri/css/tokenizer.rb +148 -3
  68. data/lib/nokogiri/css/tokenizer.rex +1 -1
  69. data/lib/nokogiri/html/document.rb +138 -11
  70. data/lib/nokogiri/html/sax/parser.rb +6 -2
  71. data/lib/nokogiri/version.rb +1 -1
  72. data/lib/nokogiri/xml/node.rb +2 -2
  73. data/lib/nokogiri/xml/node/save_options.rb +3 -0
  74. data/lib/nokogiri/xml/node_set.rb +1 -1
  75. data/test/css/test_tokenizer.rb +8 -0
  76. data/test/helper.rb +2 -0
  77. data/test/html/sax/test_parser.rb +43 -0
  78. data/test/html/test_document.rb +59 -0
  79. data/test/html/test_document_encoding.rb +48 -0
  80. data/test/html/test_element_description.rb +1 -1
  81. data/test/xml/sax/test_parser.rb +16 -0
  82. data/test/xml/test_document.rb +3 -1
  83. data/test/xml/test_node.rb +4 -1
  84. data/test/xml/test_node_set.rb +10 -0
  85. metadata +90 -107
  86. data/lib/nokogiri/css/generated_parser.rb +0 -676
  87. data/lib/nokogiri/css/generated_tokenizer.rb +0 -145
@@ -1,6 +1,6 @@
1
1
  module Nokogiri
2
2
  # The version of Nokogiri you are using
3
- VERSION = '1.5.0.beta.3'
3
+ VERSION = '1.5.0.beta.4'
4
4
 
5
5
  # More complete version information about libxml
6
6
  VERSION_INFO = {}
@@ -720,6 +720,7 @@ module Nokogiri
720
720
  }
721
721
 
722
722
  encoding = options[:encoding] || document.encoding
723
+ options[:encoding] = encoding
723
724
 
724
725
  outstring = ""
725
726
  if encoding && outstring.respond_to?(:force_encoding)
@@ -803,8 +804,7 @@ module Nokogiri
803
804
  indent_text = options[:indent_text] || ' '
804
805
  indent_times = options[:indent] || 2
805
806
 
806
-
807
- config = SaveOptions.new(save_options)
807
+ config = SaveOptions.new(save_options.to_i)
808
808
  yield config if block_given?
809
809
 
810
810
  native_write_to(io, encoding, indent_text * indent_times, config.options)
@@ -24,6 +24,7 @@ module Nokogiri
24
24
 
25
25
  # Create a new SaveOptions object with +options+
26
26
  def initialize options = 0; @options = options; end
27
+
27
28
  constants.each do |constant|
28
29
  class_eval %{
29
30
  def #{constant.downcase}
@@ -36,6 +37,8 @@ module Nokogiri
36
37
  end
37
38
  }
38
39
  end
40
+
41
+ alias :to_i :options
39
42
  end
40
43
  end
41
44
  end
@@ -104,7 +104,7 @@ module Nokogiri
104
104
 
105
105
  each do |node|
106
106
  doc = node.document
107
- search_ns = ns || doc.root ? doc.root.namespaces : {}
107
+ search_ns = ns || (doc.root ? doc.root.namespaces : {})
108
108
 
109
109
  xpaths = paths.map { |rule|
110
110
  [
@@ -2,6 +2,14 @@
2
2
 
3
3
  require "helper"
4
4
 
5
+ module Nokogiri
6
+ module CSS
7
+ class Tokenizer
8
+ alias :scan :scan_setup
9
+ end
10
+ end
11
+ end
12
+
5
13
  module Nokogiri
6
14
  module CSS
7
15
  class TestTokenizer < Nokogiri::TestCase
@@ -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')
@@ -87,6 +87,49 @@ module Nokogiri
87
87
  @parser.document.start_elements)
88
88
  end
89
89
  end
90
+
91
+ def test_parser_attributes
92
+ html = <<-eohtml
93
+ <html>
94
+ <head>
95
+ <title>hello</title>
96
+ </head>
97
+ <body>
98
+ <img src="face.jpg" title="daddy &amp; me">
99
+ <hr noshade size="2">
100
+ </body>
101
+ </html>
102
+ eohtml
103
+
104
+ block_called = false
105
+ @parser.parse(html) { |ctx|
106
+ block_called = true
107
+ ctx.replace_entities = true
108
+ }
109
+
110
+ assert block_called
111
+
112
+ noshade_value = if Nokogiri.uses_libxml? && Nokogiri::VERSION_INFO['libxml']['loaded'] < '2.7.7'
113
+ ['noshade', 'noshade']
114
+ else
115
+ ['noshade', nil]
116
+ end
117
+
118
+ assert_equal [
119
+ ['html', []],
120
+ ['head', []],
121
+ ['title', []],
122
+ ['body', []],
123
+ ['img', [
124
+ ['src', 'face.jpg'],
125
+ ['title', 'daddy & me']
126
+ ]],
127
+ ['hr', [
128
+ noshade_value,
129
+ ['size', '2']
130
+ ]]
131
+ ], @parser.document.start_elements
132
+ end
90
133
  end
91
134
  end
92
135
  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,53 @@ 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
+ if Nokogiri.uses_libxml?
182
+ assert_nil doc.title
183
+ else
184
+ assert_equal 'new', doc.title
185
+ end
186
+ end
187
+
129
188
  def test_meta_encoding_without_head
130
189
  html = Nokogiri::HTML('<html><body>foo</body></html>')
131
190
  assert_nil html.meta_encoding
@@ -73,5 +73,53 @@ 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
+ unless Nokogiri.jruby? && file == ENCODING_HTML_FILE
112
+ assert_equal(title, doc_from_file.at('//title/text()').text)
113
+ end
114
+
115
+ evil = (0..72).map { |i| '超' * i + '悪い事を構想中。' }
116
+
117
+ assert_equal(evil, ary_from_string_enc)
118
+ assert_equal(evil, ary_from_string)
119
+ assert_equal(evil, ary_from_file_enc)
120
+ assert_equal(evil, ary_from_file)
121
+ }
122
+ end
123
+ end
76
124
  end
77
125
  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.uses_libxml? && Nokogiri::LIBXML_VERSION == '2.7.7'
59
+ if Nokogiri.uses_libxml? && Nokogiri::LIBXML_VERSION >= '2.7.7'
60
60
  assert_equal 65, sub_elements.length
61
61
  elsif Nokogiri.uses_libxml?
62
62
  assert_equal 61, sub_elements.length
@@ -316,6 +316,22 @@ module Nokogiri
316
316
  eoxml
317
317
  end
318
318
  end
319
+
320
+ def test_parser_attributes
321
+ xml = <<-eoxml
322
+ <?xml version="1.0" ?><root><foo a="&amp;b" c="&gt;d" /></root>
323
+ eoxml
324
+
325
+ block_called = false
326
+ @parser.parse(xml) { |ctx|
327
+ block_called = true
328
+ ctx.replace_entities = true
329
+ }
330
+
331
+ assert block_called
332
+
333
+ assert_equal [['root', []], ['foo', [['a', '&b'], ['c', '>d']]]], @parser.document.start_elements
334
+ end
319
335
  end
320
336
  end
321
337
  end
@@ -611,7 +611,7 @@ module Nokogiri
611
611
  <a:foo>hello from a</a:foo>
612
612
  <b:foo>hello from b</b:foo>
613
613
  <container xmlns:c="http://c.flavorjon.es/">
614
- <c:foo>hello from c</c:foo>
614
+ <c:foo c:attr='attr-value'>hello from c</c:foo>
615
615
  </container>
616
616
  </root>
617
617
  EOX
@@ -625,6 +625,7 @@ module Nokogiri
625
625
  assert_equal 1, doc.xpath("//a:foo").length
626
626
  assert_equal 1, doc.xpath("//a:foo").length
627
627
  assert_equal 1, doc.xpath("//x:foo", "x" => "http://c.flavorjon.es/").length
628
+ assert_match %r{foo c:attr}, doc.to_xml
628
629
 
629
630
  doc.remove_namespaces!
630
631
 
@@ -634,6 +635,7 @@ module Nokogiri
634
635
  assert_equal 0, doc.xpath("//a:foo", namespaces).length
635
636
  assert_equal 0, doc.xpath("//a:foo", namespaces).length
636
637
  assert_equal 0, doc.xpath("//x:foo", "x" => "http://c.flavorjon.es/").length
638
+ assert_match %r{foo attr}, doc.to_xml
637
639
  end
638
640
 
639
641
  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
@@ -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')
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- hash: 62196437
4
+ hash: 62196443
5
5
  prerelease: true
6
6
  segments:
7
7
  - 1
8
8
  - 5
9
9
  - 0
10
10
  - beta
11
- - 3
12
- version: 1.5.0.beta.3
11
+ - 4
12
+ version: 1.5.0.beta.4
13
13
  platform: ruby
14
14
  authors:
15
15
  - Aaron Patterson
@@ -18,27 +18,25 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2010-12-02 00:00:00 -05:00
21
+ date: 2011-01-27 00:00:00 -08:00
22
22
  default_executable:
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency
25
- name: rubyforge
25
+ name: racc
26
26
  prerelease: false
27
27
  requirement: &id001 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- hash: 7
32
+ hash: 3
33
33
  segments:
34
- - 2
35
34
  - 0
36
- - 4
37
- version: 2.0.4
35
+ version: "0"
38
36
  type: :development
39
37
  version_requirements: *id001
40
38
  - !ruby/object:Gem::Dependency
41
- name: racc
39
+ name: rexical
42
40
  prerelease: false
43
41
  requirement: &id002 !ruby/object:Gem::Requirement
44
42
  none: false
@@ -52,7 +50,7 @@ dependencies:
52
50
  type: :development
53
51
  version_requirements: *id002
54
52
  - !ruby/object:Gem::Dependency
55
- name: rexical
53
+ name: rake-compiler
56
54
  prerelease: false
57
55
  requirement: &id003 !ruby/object:Gem::Requirement
58
56
  none: false
@@ -65,24 +63,10 @@ dependencies:
65
63
  version: "0"
66
64
  type: :development
67
65
  version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- name: rake-compiler
70
- prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 3
77
- segments:
78
- - 0
79
- version: "0"
80
- type: :development
81
- version_requirements: *id004
82
66
  - !ruby/object:Gem::Dependency
83
67
  name: minitest
84
68
  prerelease: false
85
- requirement: &id005 !ruby/object:Gem::Requirement
69
+ requirement: &id004 !ruby/object:Gem::Requirement
86
70
  none: false
87
71
  requirements:
88
72
  - - ">="
@@ -94,23 +78,23 @@ dependencies:
94
78
  - 0
95
79
  version: 1.6.0
96
80
  type: :development
97
- version_requirements: *id005
81
+ version_requirements: *id004
98
82
  - !ruby/object:Gem::Dependency
99
83
  name: hoe
100
84
  prerelease: false
101
- requirement: &id006 !ruby/object:Gem::Requirement
85
+ requirement: &id005 !ruby/object:Gem::Requirement
102
86
  none: false
103
87
  requirements:
104
88
  - - ">="
105
89
  - !ruby/object:Gem::Version
106
- hash: 19
90
+ hash: 47
107
91
  segments:
108
92
  - 2
109
- - 6
110
- - 2
111
- version: 2.6.2
93
+ - 8
94
+ - 0
95
+ version: 2.8.0
112
96
  type: :development
113
- version_requirements: *id006
97
+ version_requirements: *id005
114
98
  description: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's\n\
115
99
  many features is the ability to search documents via XPath or CSS3 selectors.\n\n\
116
100
  XML is like violence - if it doesn\xE2\x80\x99t solve your problems, you are not using\n\
@@ -124,43 +108,43 @@ extensions:
124
108
  - ext/nokogiri/extconf.rb
125
109
  extra_rdoc_files:
126
110
  - Manifest.txt
127
- - CHANGELOG.rdoc
128
111
  - CHANGELOG.ja.rdoc
129
- - README.rdoc
112
+ - CHANGELOG.rdoc
130
113
  - README.ja.rdoc
131
- - ext/nokogiri/xml_io.c
132
- - ext/nokogiri/xml_sax_parser.c
133
- - ext/nokogiri/xml_xpath_context.c
114
+ - README.rdoc
115
+ - ext/nokogiri/html_document.c
134
116
  - ext/nokogiri/html_element_description.c
135
- - ext/nokogiri/xml_libxml2_hacks.c
136
- - ext/nokogiri/xml_sax_parser_context.c
137
- - ext/nokogiri/xml_sax_push_parser.c
138
- - ext/nokogiri/xml_attribute_decl.c
139
- - ext/nokogiri/nokogiri.c
140
- - ext/nokogiri/xml_element_decl.c
141
- - ext/nokogiri/xml_element_content.c
142
117
  - ext/nokogiri/html_entity_lookup.c
143
- - ext/nokogiri/xml_dtd.c
144
- - ext/nokogiri/xslt_stylesheet.c
145
- - ext/nokogiri/xml_node_set.c
146
- - ext/nokogiri/xml_document_fragment.c
147
- - ext/nokogiri/xml_text.c
148
- - ext/nokogiri/xml_entity_reference.c
149
118
  - ext/nokogiri/html_sax_parser_context.c
119
+ - ext/nokogiri/nokogiri.c
120
+ - ext/nokogiri/xml_attr.c
121
+ - ext/nokogiri/xml_attribute_decl.c
122
+ - ext/nokogiri/xml_cdata.c
150
123
  - ext/nokogiri/xml_comment.c
151
- - ext/nokogiri/xml_namespace.c
124
+ - ext/nokogiri/xml_document.c
125
+ - ext/nokogiri/xml_document_fragment.c
126
+ - ext/nokogiri/xml_dtd.c
127
+ - ext/nokogiri/xml_element_content.c
128
+ - ext/nokogiri/xml_element_decl.c
129
+ - ext/nokogiri/xml_encoding_handler.c
152
130
  - ext/nokogiri/xml_entity_decl.c
131
+ - ext/nokogiri/xml_entity_reference.c
132
+ - ext/nokogiri/xml_io.c
133
+ - ext/nokogiri/xml_libxml2_hacks.c
134
+ - ext/nokogiri/xml_namespace.c
153
135
  - ext/nokogiri/xml_node.c
154
- - ext/nokogiri/html_document.c
155
- - ext/nokogiri/xml_syntax_error.c
156
- - ext/nokogiri/xml_document.c
157
- - ext/nokogiri/xml_cdata.c
158
- - ext/nokogiri/xml_reader.c
159
- - ext/nokogiri/xml_attr.c
136
+ - ext/nokogiri/xml_node_set.c
160
137
  - ext/nokogiri/xml_processing_instruction.c
161
- - ext/nokogiri/xml_schema.c
162
- - ext/nokogiri/xml_encoding_handler.c
138
+ - ext/nokogiri/xml_reader.c
163
139
  - ext/nokogiri/xml_relax_ng.c
140
+ - ext/nokogiri/xml_sax_parser.c
141
+ - ext/nokogiri/xml_sax_parser_context.c
142
+ - ext/nokogiri/xml_sax_push_parser.c
143
+ - ext/nokogiri/xml_schema.c
144
+ - ext/nokogiri/xml_syntax_error.c
145
+ - ext/nokogiri/xml_text.c
146
+ - ext/nokogiri/xml_xpath_context.c
147
+ - ext/nokogiri/xslt_stylesheet.c
164
148
  files:
165
149
  - .autotest
166
150
  - CHANGELOG.ja.rdoc
@@ -298,11 +282,10 @@ files:
298
282
  - lib/nekohtml.jar
299
283
  - lib/nokogiri.rb
300
284
  - lib/nokogiri/css.rb
301
- - lib/nokogiri/css/generated_parser.rb
302
- - lib/nokogiri/css/generated_tokenizer.rb
303
285
  - lib/nokogiri/css/node.rb
304
286
  - lib/nokogiri/css/parser.rb
305
287
  - lib/nokogiri/css/parser.y
288
+ - lib/nokogiri/css/parser_extras.rb
306
289
  - lib/nokogiri/css/syntax_error.rb
307
290
  - lib/nokogiri/css/tokenizer.rb
308
291
  - lib/nokogiri/css/tokenizer.rex
@@ -475,61 +458,61 @@ signing_key:
475
458
  specification_version: 3
476
459
  summary: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser"
477
460
  test_files:
478
- - test/test_reader.rb
461
+ - test/css/test_nthiness.rb
462
+ - test/css/test_parser.rb
463
+ - test/css/test_tokenizer.rb
464
+ - test/css/test_xpath_visitor.rb
465
+ - test/decorators/test_slop.rb
466
+ - test/html/sax/test_parser.rb
467
+ - test/html/sax/test_parser_context.rb
468
+ - test/html/test_builder.rb
469
+ - test/html/test_document.rb
470
+ - test/html/test_document_encoding.rb
471
+ - test/html/test_document_fragment.rb
472
+ - test/html/test_element_description.rb
473
+ - test/html/test_named_characters.rb
474
+ - test/html/test_node.rb
475
+ - test/html/test_node_encoding.rb
476
+ - test/test_convert_xpath.rb
479
477
  - test/test_css_cache.rb
480
478
  - test/test_encoding_handler.rb
481
- - test/decorators/test_slop.rb
482
479
  - test/test_memory_leak.rb
483
- - test/xml/test_document_encoding.rb
484
- - test/xml/test_relax_ng.rb
485
- - test/xml/test_text.rb
486
- - test/xml/test_node_reparenting.rb
487
- - test/xml/test_syntax_error.rb
488
- - test/xml/test_unparented_node.rb
489
- - test/xml/test_node_encoding.rb
490
- - test/xml/test_reader_encoding.rb
491
- - test/xml/test_processing_instruction.rb
492
- - test/xml/test_cdata.rb
493
- - test/xml/test_node.rb
480
+ - test/test_nokogiri.rb
481
+ - test/test_reader.rb
482
+ - test/test_soap4r_sax.rb
483
+ - test/test_xslt_transforms.rb
484
+ - test/xml/node/test_save_options.rb
485
+ - test/xml/node/test_subclass.rb
486
+ - test/xml/sax/test_parser.rb
487
+ - test/xml/sax/test_parser_context.rb
488
+ - test/xml/sax/test_push_parser.rb
489
+ - test/xml/test_attr.rb
490
+ - test/xml/test_attribute_decl.rb
494
491
  - test/xml/test_builder.rb
495
- - test/xml/test_namespace.rb
492
+ - test/xml/test_cdata.rb
493
+ - test/xml/test_comment.rb
496
494
  - test/xml/test_document.rb
497
- - test/xml/test_element_content.rb
495
+ - test/xml/test_document_encoding.rb
498
496
  - test/xml/test_document_fragment.rb
499
- - test/xml/test_entity_reference.rb
500
- - test/xml/test_attr.rb
501
497
  - test/xml/test_dtd.rb
502
- - test/xml/sax/test_parser.rb
503
- - test/xml/sax/test_parser_context.rb
504
- - test/xml/sax/test_push_parser.rb
498
+ - test/xml/test_dtd_encoding.rb
499
+ - test/xml/test_element_content.rb
505
500
  - test/xml/test_element_decl.rb
501
+ - test/xml/test_entity_decl.rb
502
+ - test/xml/test_entity_reference.rb
503
+ - test/xml/test_namespace.rb
504
+ - test/xml/test_node.rb
506
505
  - test/xml/test_node_attributes.rb
507
- - test/xml/test_xpath.rb
506
+ - test/xml/test_node_encoding.rb
507
+ - test/xml/test_node_reparenting.rb
508
508
  - test/xml/test_node_set.rb
509
509
  - test/xml/test_parse_options.rb
510
- - test/xml/test_entity_decl.rb
511
- - test/xml/node/test_save_options.rb
512
- - test/xml/node/test_subclass.rb
513
- - test/xml/test_attribute_decl.rb
510
+ - test/xml/test_processing_instruction.rb
511
+ - test/xml/test_reader_encoding.rb
512
+ - test/xml/test_relax_ng.rb
514
513
  - test/xml/test_schema.rb
515
- - test/xml/test_dtd_encoding.rb
516
- - test/xml/test_comment.rb
517
- - test/test_nokogiri.rb
518
- - test/html/test_document_encoding.rb
519
- - test/html/test_node_encoding.rb
520
- - test/html/test_node.rb
521
- - test/html/test_builder.rb
522
- - test/html/test_document.rb
523
- - test/html/test_document_fragment.rb
524
- - test/html/sax/test_parser.rb
525
- - test/html/sax/test_parser_context.rb
526
- - test/html/test_named_characters.rb
527
- - test/html/test_element_description.rb
528
- - test/test_convert_xpath.rb
529
- - test/test_soap4r_sax.rb
530
- - test/css/test_nthiness.rb
531
- - test/css/test_parser.rb
532
- - test/css/test_tokenizer.rb
533
- - test/css/test_xpath_visitor.rb
514
+ - test/xml/test_syntax_error.rb
515
+ - test/xml/test_text.rb
516
+ - test/xml/test_unparented_node.rb
517
+ - test/xml/test_xpath.rb
534
518
  - test/xslt/test_custom_functions.rb
535
- - test/test_xslt_transforms.rb