libxml-ruby 0.8.3-x86-mswin32-60 → 0.9.0-x86-mswin32-60

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.
Files changed (175) hide show
  1. data/CHANGES +18 -0
  2. data/RAKEFILE +15 -39
  3. data/README +48 -47
  4. data/ext/libxml/libxml.c +847 -22
  5. data/ext/libxml/ruby_libxml.h +71 -95
  6. data/ext/libxml/ruby_xml_attr.c +500 -500
  7. data/ext/libxml/ruby_xml_attributes.c +1 -1
  8. data/ext/libxml/ruby_xml_document.c +1144 -1135
  9. data/ext/libxml/ruby_xml_document.h +4 -11
  10. data/ext/libxml/ruby_xml_dtd.c +27 -0
  11. data/ext/libxml/ruby_xml_encoding.c +164 -0
  12. data/ext/libxml/ruby_xml_encoding.h +13 -0
  13. data/ext/libxml/ruby_xml_error.c +941 -0
  14. data/ext/libxml/ruby_xml_error.h +13 -0
  15. data/ext/libxml/ruby_xml_html_parser.c +71 -387
  16. data/ext/libxml/ruby_xml_html_parser.h +1 -17
  17. data/ext/libxml/ruby_xml_input.c +179 -0
  18. data/ext/libxml/ruby_xml_input.h +18 -0
  19. data/ext/libxml/ruby_xml_input_cbg.c +17 -3
  20. data/ext/libxml/ruby_xml_node.c +1566 -1582
  21. data/ext/libxml/ruby_xml_node.h +1 -4
  22. data/ext/libxml/ruby_xml_ns.c +14 -3
  23. data/ext/libxml/ruby_xml_parser.c +164 -1398
  24. data/ext/libxml/ruby_xml_parser.h +5 -17
  25. data/ext/libxml/ruby_xml_parser_context.c +131 -169
  26. data/ext/libxml/ruby_xml_parser_context.h +2 -9
  27. data/ext/libxml/ruby_xml_reader.c +910 -945
  28. data/ext/libxml/ruby_xml_relaxng.c +32 -3
  29. data/ext/libxml/ruby_xml_sax_parser.c +106 -364
  30. data/ext/libxml/ruby_xml_sax_parser.h +1 -37
  31. data/ext/libxml/ruby_xml_schema.c +174 -145
  32. data/ext/libxml/ruby_xml_xinclude.c +9 -5
  33. data/ext/libxml/ruby_xml_xpath.c +25 -6
  34. data/ext/libxml/ruby_xml_xpath.h +1 -2
  35. data/ext/libxml/ruby_xml_xpath_context.c +17 -19
  36. data/ext/libxml/ruby_xml_xpath_object.c +60 -56
  37. data/ext/libxml/ruby_xml_xpointer.c +11 -5
  38. data/ext/libxml/sax_parser_callbacks.inc +42 -37
  39. data/ext/libxml/version.h +3 -3
  40. data/ext/mingw/Rakefile +20 -27
  41. data/ext/mingw/build.rake +41 -0
  42. data/{lib → ext/mingw}/libiconv-2.dll +0 -0
  43. data/ext/mingw/libxml2-2.dll +0 -0
  44. data/ext/mingw/libxml_ruby.dll.a +0 -0
  45. data/ext/mingw/libxml_ruby.so +0 -0
  46. data/ext/vc/libxml_ruby.vcproj +23 -15
  47. data/lib/libxml.rb +8 -2
  48. data/lib/libxml/document.rb +16 -4
  49. data/lib/libxml/error.rb +84 -0
  50. data/lib/libxml/hpricot.rb +76 -0
  51. data/lib/libxml/html_parser.rb +61 -0
  52. data/lib/libxml/node.rb +36 -25
  53. data/lib/libxml/parser.rb +312 -33
  54. data/lib/libxml/parser_context.rb +17 -0
  55. data/lib/libxml/properties.rb +15 -2
  56. data/lib/libxml/reader.rb +15 -0
  57. data/lib/libxml/sax_callbacks.rb +179 -0
  58. data/lib/libxml/sax_parser.rb +42 -0
  59. data/lib/libxml/tree.rb +1 -2
  60. data/lib/libxml/xpath_object.rb +12 -0
  61. data/test/model/atom.xml +4 -0
  62. data/test/tc_attributes.rb +43 -19
  63. data/test/tc_document.rb +1 -1
  64. data/test/tc_document_write.rb +15 -8
  65. data/test/tc_dtd.rb +36 -20
  66. data/test/tc_encoding.rb +13 -0
  67. data/test/tc_error.rb +136 -0
  68. data/test/tc_node.rb +2 -3
  69. data/test/tc_node_copy.rb +1 -1
  70. data/test/tc_node_edit.rb +6 -0
  71. data/test/tc_ns.rb +18 -0
  72. data/test/tc_parser.rb +113 -228
  73. data/test/tc_parser_context.rb +1 -2
  74. data/test/tc_reader.rb +24 -14
  75. data/test/tc_relaxng.rb +18 -6
  76. data/test/tc_sax_parser.rb +48 -13
  77. data/test/tc_schema.rb +20 -8
  78. data/test/tc_well_formed.rb +2 -1
  79. data/test/tc_xml.rb +212 -0
  80. data/test/tc_xpath.rb +60 -46
  81. data/test/tc_xpointer.rb +7 -11
  82. data/test/test_suite.rb +4 -3
  83. metadata +32 -115
  84. data/doc/rdoc/classes/LibXML.html +0 -241
  85. data/doc/rdoc/classes/LibXML/XML.html +0 -185
  86. data/doc/rdoc/classes/LibXML/XML/Attr.html +0 -1010
  87. data/doc/rdoc/classes/LibXML/XML/Attributes.html +0 -526
  88. data/doc/rdoc/classes/LibXML/XML/Document.html +0 -1489
  89. data/doc/rdoc/classes/LibXML/XML/Dtd.html +0 -213
  90. data/doc/rdoc/classes/LibXML/XML/Error.html +0 -117
  91. data/doc/rdoc/classes/LibXML/XML/HTMLParser.html +0 -348
  92. data/doc/rdoc/classes/LibXML/XML/InputCallbacks.html +0 -160
  93. data/doc/rdoc/classes/LibXML/XML/NS.html +0 -381
  94. data/doc/rdoc/classes/LibXML/XML/Node.html +0 -3396
  95. data/doc/rdoc/classes/LibXML/XML/Node/FailedModify.html +0 -123
  96. data/doc/rdoc/classes/LibXML/XML/Node/Set.html +0 -440
  97. data/doc/rdoc/classes/LibXML/XML/Node/SetNamespace.html +0 -123
  98. data/doc/rdoc/classes/LibXML/XML/Node/UnknownType.html +0 -123
  99. data/doc/rdoc/classes/LibXML/XML/Parser.html +0 -2239
  100. data/doc/rdoc/classes/LibXML/XML/Parser/Context.html +0 -1255
  101. data/doc/rdoc/classes/LibXML/XML/Parser/ParseError.html +0 -123
  102. data/doc/rdoc/classes/LibXML/XML/Reader.html +0 -2264
  103. data/doc/rdoc/classes/LibXML/XML/RelaxNG.html +0 -237
  104. data/doc/rdoc/classes/LibXML/XML/SaxParser.html +0 -415
  105. data/doc/rdoc/classes/LibXML/XML/Schema.html +0 -308
  106. data/doc/rdoc/classes/LibXML/XML/State.html +0 -124
  107. data/doc/rdoc/classes/LibXML/XML/Tree.html +0 -111
  108. data/doc/rdoc/classes/LibXML/XML/XInclude.html +0 -123
  109. data/doc/rdoc/classes/LibXML/XML/XInclude/Error.html +0 -117
  110. data/doc/rdoc/classes/LibXML/XML/XMLParserOptions.html +0 -198
  111. data/doc/rdoc/classes/LibXML/XML/XPath.html +0 -184
  112. data/doc/rdoc/classes/LibXML/XML/XPath/Context.html +0 -404
  113. data/doc/rdoc/classes/LibXML/XML/XPath/InvalidPath.html +0 -172
  114. data/doc/rdoc/classes/LibXML/XML/XPath/Object.html +0 -627
  115. data/doc/rdoc/classes/LibXML/XML/XPointer.html +0 -170
  116. data/doc/rdoc/classes/LibXML/XML/XPointer/Context.html +0 -123
  117. data/doc/rdoc/classes/LibXML/XML/XPointer/Context/InvalidPath.html +0 -117
  118. data/doc/rdoc/classes/LibXML/XML/XPointer/InvalidExpression.html +0 -124
  119. data/doc/rdoc/classes/singleton.html +0 -114
  120. data/doc/rdoc/created.rid +0 -1
  121. data/doc/rdoc/files/CHANGES.html +0 -442
  122. data/doc/rdoc/files/LICENSE.html +0 -133
  123. data/doc/rdoc/files/README.html +0 -388
  124. data/doc/rdoc/files/VERSION.html +0 -107
  125. data/doc/rdoc/files/ext/libxml/cbg_c.html +0 -101
  126. data/doc/rdoc/files/ext/libxml/libxml_c.html +0 -101
  127. data/doc/rdoc/files/ext/libxml/ruby_xml_attr_c.html +0 -101
  128. data/doc/rdoc/files/ext/libxml/ruby_xml_attributes_c.html +0 -101
  129. data/doc/rdoc/files/ext/libxml/ruby_xml_document_c.html +0 -101
  130. data/doc/rdoc/files/ext/libxml/ruby_xml_dtd_c.html +0 -101
  131. data/doc/rdoc/files/ext/libxml/ruby_xml_html_parser_c.html +0 -101
  132. data/doc/rdoc/files/ext/libxml/ruby_xml_input_cbg_c.html +0 -101
  133. data/doc/rdoc/files/ext/libxml/ruby_xml_node_c.html +0 -101
  134. data/doc/rdoc/files/ext/libxml/ruby_xml_node_set_c.html +0 -101
  135. data/doc/rdoc/files/ext/libxml/ruby_xml_ns_c.html +0 -101
  136. data/doc/rdoc/files/ext/libxml/ruby_xml_parser_c.html +0 -101
  137. data/doc/rdoc/files/ext/libxml/ruby_xml_parser_context_c.html +0 -101
  138. data/doc/rdoc/files/ext/libxml/ruby_xml_reader_c.html +0 -101
  139. data/doc/rdoc/files/ext/libxml/ruby_xml_relaxng_c.html +0 -101
  140. data/doc/rdoc/files/ext/libxml/ruby_xml_sax_parser_c.html +0 -101
  141. data/doc/rdoc/files/ext/libxml/ruby_xml_schema_c.html +0 -101
  142. data/doc/rdoc/files/ext/libxml/ruby_xml_state_c.html +0 -101
  143. data/doc/rdoc/files/ext/libxml/ruby_xml_xinclude_c.html +0 -101
  144. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_c.html +0 -101
  145. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_context_c.html +0 -101
  146. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_object_c.html +0 -101
  147. data/doc/rdoc/files/ext/libxml/ruby_xml_xpointer_c.html +0 -101
  148. data/doc/rdoc/files/ext/libxml/ruby_xml_xpointer_context_c.html +0 -101
  149. data/doc/rdoc/files/lib/libxml/attr_rb.html +0 -108
  150. data/doc/rdoc/files/lib/libxml/attributes_rb.html +0 -108
  151. data/doc/rdoc/files/lib/libxml/document_rb.html +0 -108
  152. data/doc/rdoc/files/lib/libxml/node_rb.html +0 -108
  153. data/doc/rdoc/files/lib/libxml/node_set_rb.html +0 -108
  154. data/doc/rdoc/files/lib/libxml/parser_options_rb.html +0 -107
  155. data/doc/rdoc/files/lib/libxml/parser_rb.html +0 -101
  156. data/doc/rdoc/files/lib/libxml/properties_rb.html +0 -108
  157. data/doc/rdoc/files/lib/libxml/tree_rb.html +0 -107
  158. data/doc/rdoc/files/lib/libxml_rb.html +0 -124
  159. data/doc/rdoc/files/lib/xml/libxml_rb.html +0 -124
  160. data/doc/rdoc/files/lib/xml_rb.html +0 -134
  161. data/doc/rdoc/fr_class_index.html +0 -62
  162. data/doc/rdoc/fr_file_index.html +0 -66
  163. data/doc/rdoc/fr_method_index.html +0 -392
  164. data/doc/rdoc/index.html +0 -24
  165. data/doc/rdoc/rdoc-style.css +0 -208
  166. data/ext/libxml/ruby_xml_node_set.c +0 -172
  167. data/ext/libxml/ruby_xml_node_set.h +0 -20
  168. data/ext/libxml/ruby_xml_xpointer_context.c +0 -22
  169. data/ext/libxml/ruby_xml_xpointer_context.h +0 -18
  170. data/lib/libxml/node_set.rb +0 -27
  171. data/lib/libxml2-2.dll +0 -0
  172. data/lib/libxml_ruby.dll.a +0 -0
  173. data/lib/libxml_ruby.so +0 -0
  174. data/test/tc_node_set.rb +0 -24
  175. data/test/tc_node_set2.rb +0 -37
@@ -0,0 +1,17 @@
1
+ # $Id: libxml.rb 374 2008-07-11 04:51:41Z cfis $
2
+
3
+ module LibXML
4
+ module XML
5
+ class Parser
6
+ class Context
7
+ def options
8
+ warn("ParserContext#options has been removed from the bindings")
9
+ end
10
+
11
+ def options=(value)
12
+ warn("ParserContext#options has been removed from the bindings")
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -6,8 +6,21 @@
6
6
  module LibXML
7
7
  module XML
8
8
  class Node
9
- alias :properties :attributes
10
- alias :properties? :attributes?
9
+ def property(name)
10
+ warn('Node#properties is deprecated. Use Node#[] instead.')
11
+ self[name]
12
+ end
13
+
14
+ def properties
15
+ warn('Node#properties is deprecated. Use Node#attributes instead.')
16
+ self.attributes
17
+ end
18
+
19
+ def properties?
20
+ warn('Node#properties? is deprecated. Use Node#attributes? instead.')
21
+ self.attributes?
22
+ end
11
23
  end
24
+
12
25
  end
13
26
  end
@@ -0,0 +1,15 @@
1
+ module LibXML
2
+ module XML
3
+ class Reader
4
+ def reset_error_handler
5
+ warn('reset_error_handler is deprecated. Use Error.reset_handler instead')
6
+ Error.reset_handler
7
+ end
8
+
9
+ def set_error_handler(&block)
10
+ warn('set_error_handler is deprecated. Use Error.set_handler instead')
11
+ Error.set_handler(&block)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,179 @@
1
+ module LibXML
2
+ module XML
3
+ class SaxParser
4
+ module Callbacks
5
+ # Called for an internal subset event.
6
+ def on_internal_subset(name, external_id, system_id)
7
+ end
8
+
9
+ # Called for 'is standalone' event.
10
+ def on_is_standalone
11
+ end
12
+
13
+ # Called for an internal subset notification event.
14
+ def on_has_internal_subset
15
+ end
16
+
17
+ # Called for an external subset notification event.
18
+ def on_has_external_subset
19
+ end
20
+
21
+ # Called for a start document event.
22
+ def on_start_document
23
+ end
24
+
25
+ # Called for a end document event.
26
+ def on_end_document
27
+ end
28
+
29
+ # Called for a start element event.
30
+ def on_start_element(name, attributes_hash)
31
+ end
32
+
33
+ # Called for a end element event.
34
+ def on_end_element(name)
35
+ end
36
+
37
+ # Called for a reference event.
38
+ def on_reference(name)
39
+ end
40
+
41
+ # Called for a characters event.
42
+ def on_characters(chars)
43
+ end
44
+
45
+ # Called for an processing instruction event.
46
+ def on_processing_instruction(target, data)
47
+ end
48
+
49
+ # Called for a comment event.
50
+ def on_comment(msg)
51
+ end
52
+
53
+ # Called for parser warnings.
54
+ def on_parser_warning(msg)
55
+ end
56
+
57
+ # Called for parser errors.
58
+ def on_parser_error(msg)
59
+ end
60
+
61
+ # Called for fatal parser errors.
62
+ def on_parser_fatal_error(msg)
63
+ end
64
+
65
+ # Called for a CDATA block event.
66
+ def on_cdata_block(cdata)
67
+ end
68
+
69
+ # Called for an external subset event.
70
+ def on_external_subset(name, external_id, system_id)
71
+ end
72
+ end
73
+
74
+ module VerboseCallbacks
75
+ # Called for an internal subset event.
76
+ def on_internal_subset(name, external_id, system_id)
77
+ STDOUT << "on_internal_subset(" << name << ", " << external_id << ", " << system_id << ")\n"
78
+ STDOUT.flush
79
+ end
80
+
81
+ # Called for 'is standalone' event.
82
+ def on_is_standalone
83
+ STDOUT << "on_is_standalone\n"
84
+ STDOUT.flush
85
+ end
86
+
87
+ # Called for an internal subset notification event.
88
+ def on_has_internal_subset
89
+ STDOUT << "on_has_internal_subset\n"
90
+ STDOUT.flush
91
+ end
92
+
93
+ # Called for an external subset notification event.
94
+ def on_has_external_subset
95
+ STDOUT << "on_has_internal_subset\n"
96
+ STDOUT.flush
97
+ end
98
+
99
+ # Called for a start document event.
100
+ def on_start_document
101
+ STDOUT << "on_start_document\n"
102
+ STDOUT.flush
103
+ end
104
+
105
+ # Called for a end document event.
106
+ def on_end_document
107
+ STDOUT << "on_end_document\n"
108
+ STDOUT.flush
109
+ end
110
+
111
+ # Called for a start element event.
112
+ def on_start_element(name, attributes_hash)
113
+ STDOUT << "on_start_element(" << name << ", " << attributes_hash << ")\n"
114
+ STDOUT.flush
115
+ end
116
+
117
+ # Called for a end element event.
118
+ def on_end_element(name)
119
+ STDOUT << "on_end_element(" << name << ")\n"
120
+ STDOUT.flush
121
+ end
122
+
123
+ # Called for a reference event.
124
+ def on_reference(name)
125
+ STDOUT << "on_reference(" << name << ")\n"
126
+ STDOUT.flush
127
+ end
128
+
129
+ # Called for a characters event.
130
+ def on_characters(chars)
131
+ STDOUT << "on_characters(" << chars << ")\n"
132
+ STDOUT.flush
133
+ end
134
+
135
+ # Called for an processing instruction event.
136
+ def on_processing_instruction(target, data)
137
+ STDOUT << "on_characters(" << target << ", " << data << ")\n"
138
+ STDOUT.flush
139
+ end
140
+
141
+ # Called for a comment event.
142
+ def on_comment(msg)
143
+ STDOUT << "on_comment(" << msg << ")\n"
144
+ STDOUT.flush
145
+ end
146
+
147
+ # Called for parser warnings.
148
+ def on_parser_warning(msg)
149
+ STDOUT << "on_parser_warning(" << msg << ")\n"
150
+ STDOUT.flush
151
+ end
152
+
153
+ # Called for parser errors.
154
+ def on_parser_error(msg)
155
+ STDOUT << "on_parser_error(" << msg << ")\n"
156
+ STDOUT.flush
157
+ end
158
+
159
+ # Called for fatal parser errors.
160
+ def on_parser_fatal_error(msg)
161
+ STDOUT << "on_parser_fatal_error(" << msg << ")\n"
162
+ STDOUT.flush
163
+ end
164
+
165
+ # Called for a CDATA block event.
166
+ def on_cdata_block(cdata)
167
+ STDOUT << "on_cdata_block(" << cdata << ")\n"
168
+ STDOUT.flush
169
+ end
170
+
171
+ # Called for an external subset event.
172
+ def on_external_subset(name, external_id, system_id)
173
+ STDOUT << "on_external_subset(" << name << ", " << external_id << ", " << system_id << ")\n"
174
+ STDOUT.flush
175
+ end
176
+ end
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,42 @@
1
+ module LibXML
2
+ module XML
3
+ class SaxParser
4
+ def filename=(value)
5
+ warn("SaxParser.filename is deprecated. Use SaxParser#file instead.")
6
+ self.file = value
7
+ end
8
+
9
+ def file
10
+ input.file
11
+ end
12
+
13
+ def file=(value)
14
+ input.file = value
15
+ end
16
+
17
+ def string
18
+ input.string
19
+ end
20
+
21
+ def string=(value)
22
+ input.string = value
23
+ end
24
+
25
+ def document
26
+ input.document
27
+ end
28
+
29
+ def document=(value)
30
+ input.document = value
31
+ end
32
+
33
+ def io
34
+ input.io
35
+ end
36
+
37
+ def io=(value)
38
+ input.io = value
39
+ end
40
+ end
41
+ end
42
+ end
@@ -1,8 +1,7 @@
1
1
  # This is for backwards compatibility and is DEPRECATED
2
2
  module LibXML
3
3
  module XML
4
- class Tree
5
- # :enddoc:
4
+ class Tree # :nodoc:
6
5
  ELEMENT_NODE = Node::ELEMENT_NODE
7
6
  ATTRIBUTE_NODE = Node::ATTRIBUTE_NODE
8
7
  TEXT_NODE = Node::TEXT_NODE
@@ -0,0 +1,12 @@
1
+ module LibXML
2
+ module XML
3
+ module XPath
4
+ class Object
5
+ def set
6
+ warn("XPath::Object#set is deprecated. Simply use the XPath::Object API instead")
7
+ self
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <feed xmlns="http://www.w3.org/2005/Atom">
3
+ <title type="text">Phil Bogle's Contacts</title>
4
+ </feed>
@@ -2,7 +2,7 @@ require 'xml'
2
2
  require 'test/unit'
3
3
 
4
4
  class AttributesTest < Test::Unit::TestCase
5
- def setup()
5
+ def setup
6
6
  xp = XML::Parser.string(<<-EOS)
7
7
  <CityModel
8
8
  xmlns="http://www.opengis.net/examples"
@@ -22,7 +22,7 @@ class AttributesTest < Test::Unit::TestCase
22
22
  @doc = xp.parse
23
23
  end
24
24
 
25
- def teardown()
25
+ def teardown
26
26
  @doc = nil
27
27
  end
28
28
 
@@ -35,7 +35,7 @@ class AttributesTest < Test::Unit::TestCase
35
35
  assert_instance_of(XML::Attributes, attributes)
36
36
  assert_equal(5, attributes.length)
37
37
  end
38
-
38
+
39
39
  def test_each
40
40
  attributes = city_member.attributes
41
41
  length = attributes.inject(0) do |result, attr|
@@ -47,60 +47,84 @@ class AttributesTest < Test::Unit::TestCase
47
47
 
48
48
  def test_get_attribute
49
49
  attributes = city_member.attributes
50
-
50
+
51
51
  attr = attributes.get_attribute('name')
52
52
  assert_instance_of(XML::Attr, attr)
53
-
53
+
54
54
  attr = attributes.get_attribute('does_not_exist')
55
55
  assert_nil(attr)
56
-
56
+
57
57
  attr = attributes.get_attribute('name')
58
58
  assert_instance_of(XML::Attr, attr)
59
-
59
+
60
60
  attr = attributes.get_attribute('href')
61
61
  assert_instance_of(XML::Attr, attr)
62
62
  assert_instance_of(XML::NS, attr.ns)
63
63
  assert_equal('xlink', attr.ns.prefix)
64
64
  assert_equal('http://www.w3.org/1999/xlink', attr.ns.href)
65
-
65
+
66
66
  attr = attributes.get_attribute_ns('http://www.w3.org/1999/xlink', 'href')
67
67
  assert_instance_of(XML::Attr, attr)
68
-
68
+
69
69
  attr = attributes.get_attribute_ns('http://www.opengis.net/gml', 'remoteSchema')
70
70
  assert_instance_of(XML::Attr, attr)
71
-
71
+
72
72
  attr = attributes.get_attribute_ns('http://i.dont.exist', 'nor do i')
73
73
  assert_nil(attr)
74
74
  end
75
-
75
+
76
+ def test_property
77
+ attr = city_member.property('name')
78
+ assert_instance_of(String, attr)
79
+ assert_equal('Cambridge', attr)
80
+ end
81
+
76
82
  def test_get_values
77
83
  assert_equal('Cambridge', city_member[:name])
78
84
  assert_equal('http://www.foo.net/cgi-bin/wfs?FeatureID=C10239', city_member[:href])
79
-
85
+
80
86
  attributes = city_member.attributes
81
87
  assert_equal('Cambridge', attributes[:name])
82
88
  assert_equal('http://www.foo.net/cgi-bin/wfs?FeatureID=C10239', attributes[:href])
83
89
  end
84
-
90
+
85
91
  def test_set_values
86
92
  city_member[:name] = 'London'
87
93
  assert_equal('London', city_member[:name])
88
-
94
+
89
95
  city_member[:href] = 'foo'
90
96
  assert_equal('foo', city_member[:href])
91
-
97
+
92
98
  attributes = city_member.attributes
93
-
99
+
94
100
  attributes[:name] = 'London'
95
101
  assert_equal('London', attributes[:name])
96
-
102
+
97
103
  attributes[:href] = 'foo'
98
104
  assert_equal('foo', attributes[:href])
99
105
  end
100
-
106
+
101
107
  def test_str_sym()
102
108
  attributes = city_member.attributes
103
109
  assert_equal('Cambridge', attributes[:name])
104
110
  assert_equal('Cambridge', attributes['name'])
105
111
  end
106
- end
112
+
113
+ def test_remove_first
114
+ attributes = @doc.find_first('/city:CityModel/city:cityMember').attributes
115
+ assert_equal(5, attributes.length)
116
+ attr = attributes.first
117
+ attr.remove!
118
+ assert_equal(4, attributes.length)
119
+ end
120
+
121
+ def test_remove_all
122
+ node = @doc.find_first('/city:CityModel/city:cityMember')
123
+ assert_equal(5, node.attributes.length)
124
+
125
+ node.attributes.entries.each do |attr|
126
+ attr.remove!
127
+ end
128
+ assert_equal(0, node.attributes.length)
129
+ end
130
+ end
@@ -25,7 +25,7 @@ class TC_XML_Document < Test::Unit::TestCase
25
25
  end
26
26
 
27
27
  def test_ruby_xml_document_compression
28
- if XML::Parser::enabled_zlib?
28
+ if XML.enabled_zlib?
29
29
  0.upto(9) do |i|
30
30
  assert_equal(i, @doc.compression = i)
31
31
  assert_equal(i, @doc.compression)