libxml-ruby 0.7.0-x86-mswin32-60 → 0.8.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 (188) hide show
  1. data/CHANGES +24 -1
  2. data/README +48 -3
  3. data/benchmark/depixelate.rb +632 -0
  4. data/benchmark/hamlet.xml +9055 -0
  5. data/benchmark/sock_entries.xml +507 -0
  6. data/benchmark/throughput.rb +39 -0
  7. data/benchmark/xml_benchmarks.rb +222 -0
  8. data/doc/classes/LibXML.html +237 -0
  9. data/doc/classes/LibXML/XML.html +178 -0
  10. data/doc/classes/{XML → LibXML/XML}/Attr.html +213 -182
  11. data/doc/classes/{XML → LibXML/XML}/Attributes.html +126 -54
  12. data/doc/classes/{XML → LibXML/XML}/Document.html +299 -297
  13. data/doc/classes/{XML → LibXML/XML}/Dtd.html +10 -10
  14. data/doc/classes/{XML/XInclude → LibXML/XML}/Error.html +4 -4
  15. data/doc/classes/{XML → LibXML/XML}/HTMLParser.html +40 -40
  16. data/doc/classes/{XML → LibXML/XML}/InputCallbacks.html +10 -10
  17. data/doc/classes/{XML → LibXML/XML}/NS.html +46 -46
  18. data/doc/classes/{XML → LibXML/XML}/Node.html +935 -788
  19. data/doc/classes/LibXML/XML/Node/FailedModify.html +111 -0
  20. data/doc/classes/{XML → LibXML/XML}/Node/Set.html +69 -68
  21. data/doc/classes/{XML → LibXML/XML}/Node/SetNamespace.html +4 -4
  22. data/doc/classes/{XML/Node/FailedModify.html → LibXML/XML/Node/UnknownType.html} +4 -4
  23. data/doc/classes/{XML → LibXML/XML}/Parser.html +426 -389
  24. data/doc/classes/{XML → LibXML/XML}/Parser/Context.html +208 -208
  25. data/doc/classes/{XML → LibXML/XML}/Parser/ParseError.html +4 -4
  26. data/doc/classes/{XML → LibXML/XML}/Reader.html +288 -287
  27. data/doc/classes/{XML → LibXML/XML}/SaxParser.html +52 -52
  28. data/doc/classes/{XML/XPath/Context.html → LibXML/XML/Schema.html} +60 -32
  29. data/doc/classes/{XML → LibXML/XML}/State.html +4 -4
  30. data/doc/classes/{XML/Node/UnknownType.html → LibXML/XML/Tree.html} +5 -5
  31. data/doc/classes/{XML → LibXML/XML}/XInclude.html +5 -5
  32. data/doc/classes/{XML → LibXML/XML/XInclude}/Error.html +5 -5
  33. data/doc/classes/{XML → LibXML/XML}/XMLParserOptions.html +5 -5
  34. data/doc/classes/{XML → LibXML/XML}/XPath.html +23 -64
  35. data/doc/classes/LibXML/XML/XPath/Context.html +403 -0
  36. data/doc/classes/{XML/XPointer/Context → LibXML/XML/XPath}/InvalidPath.html +4 -4
  37. data/doc/classes/LibXML/XML/XPath/Object.html +623 -0
  38. data/doc/classes/{XML → LibXML/XML}/XPointer.html +12 -12
  39. data/doc/classes/{XML → LibXML/XML}/XPointer/Context.html +5 -5
  40. data/doc/classes/{XML/XPath → LibXML/XML/XPointer/Context}/InvalidPath.html +5 -5
  41. data/doc/classes/{XML → LibXML/XML}/XPointer/InvalidExpression.html +4 -4
  42. data/doc/classes/XML.html +17 -123
  43. data/doc/created.rid +1 -1
  44. data/doc/files/CHANGES.html +49 -25
  45. data/doc/files/LICENSE.html +1 -1
  46. data/doc/files/README.html +79 -4
  47. data/doc/files/VERSION.html +2 -2
  48. data/doc/files/ext/libxml/cbg_c.html +1 -1
  49. data/doc/files/ext/libxml/libxml_c.html +1 -1
  50. data/doc/files/ext/libxml/ruby_xml_attr_c.html +1 -1
  51. data/doc/files/ext/libxml/ruby_xml_attributes_c.html +1 -1
  52. data/doc/files/ext/libxml/ruby_xml_document_c.html +1 -1
  53. data/doc/files/ext/libxml/ruby_xml_dtd_c.html +1 -1
  54. data/doc/files/ext/libxml/ruby_xml_html_parser_c.html +1 -1
  55. data/doc/files/ext/libxml/ruby_xml_input_cbg_c.html +1 -1
  56. data/doc/files/ext/libxml/ruby_xml_node_c.html +1 -1
  57. data/doc/files/ext/libxml/ruby_xml_node_set_c.html +1 -1
  58. data/doc/files/ext/libxml/ruby_xml_ns_c.html +1 -1
  59. data/doc/files/ext/libxml/ruby_xml_parser_c.html +1 -1
  60. data/doc/files/ext/libxml/ruby_xml_parser_context_c.html +1 -1
  61. data/doc/files/ext/libxml/ruby_xml_reader_c.html +1 -1
  62. data/doc/files/ext/libxml/ruby_xml_sax_parser_c.html +1 -1
  63. data/doc/files/ext/libxml/ruby_xml_schema_c.html +1 -1
  64. data/doc/files/ext/libxml/ruby_xml_state_c.html +1 -1
  65. data/doc/files/ext/libxml/ruby_xml_xinclude_c.html +1 -1
  66. data/doc/files/ext/libxml/ruby_xml_xpath_c.html +1 -1
  67. data/doc/files/ext/libxml/ruby_xml_xpath_context_c.html +1 -1
  68. data/doc/files/ext/libxml/ruby_xml_xpath_object_c.html +1 -1
  69. data/doc/files/ext/libxml/ruby_xml_xpointer_c.html +1 -1
  70. data/doc/files/ext/libxml/ruby_xml_xpointer_context_c.html +1 -1
  71. data/doc/files/lib/libxml/attr_rb.html +108 -0
  72. data/doc/files/lib/libxml/attributes_rb.html +108 -0
  73. data/doc/files/lib/libxml/document_rb.html +108 -0
  74. data/doc/files/lib/libxml/node_rb.html +108 -0
  75. data/doc/files/lib/libxml/node_set_rb.html +108 -0
  76. data/doc/files/lib/libxml/parser_options_rb.html +107 -0
  77. data/doc/files/{ext/libxml/ruby_xml_tree_c.html → lib/libxml/parser_rb.html} +4 -4
  78. data/doc/files/lib/libxml/properties_rb.html +108 -0
  79. data/doc/files/lib/libxml/tree_rb.html +107 -0
  80. data/doc/files/lib/libxml_rb.html +12 -3
  81. data/doc/fr_class_index.html +34 -32
  82. data/doc/fr_file_index.html +9 -1
  83. data/doc/fr_method_index.html +362 -347
  84. data/ext/libxml/cbg.c +76 -76
  85. data/ext/libxml/libxml.c +4 -3
  86. data/ext/libxml/ruby_libxml.h +1 -1
  87. data/ext/libxml/ruby_xml_attr.c +4 -3
  88. data/ext/libxml/ruby_xml_attr.h +16 -16
  89. data/ext/libxml/ruby_xml_attributes.c +267 -266
  90. data/ext/libxml/ruby_xml_attributes.h +17 -17
  91. data/ext/libxml/ruby_xml_document.c +30 -59
  92. data/ext/libxml/ruby_xml_document.h +27 -27
  93. data/ext/libxml/ruby_xml_dtd.c +2 -1
  94. data/ext/libxml/ruby_xml_dtd.h +17 -17
  95. data/ext/libxml/ruby_xml_html_parser.c +3 -2
  96. data/ext/libxml/ruby_xml_html_parser.h +29 -29
  97. data/ext/libxml/ruby_xml_input_cbg.c +2 -1
  98. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  99. data/ext/libxml/ruby_xml_node.c +127 -470
  100. data/ext/libxml/ruby_xml_node.h +17 -17
  101. data/ext/libxml/ruby_xml_node_set.c +5 -4
  102. data/ext/libxml/ruby_xml_node_set.h +20 -20
  103. data/ext/libxml/ruby_xml_ns.c +3 -2
  104. data/ext/libxml/ruby_xml_ns.h +12 -12
  105. data/ext/libxml/ruby_xml_parser.c +20 -48
  106. data/ext/libxml/ruby_xml_parser.h +31 -31
  107. data/ext/libxml/ruby_xml_parser_context.c +3 -2
  108. data/ext/libxml/ruby_xml_parser_context.h +20 -20
  109. data/ext/libxml/ruby_xml_reader.c +2 -1
  110. data/ext/libxml/ruby_xml_sax_parser.c +3 -2
  111. data/ext/libxml/ruby_xml_sax_parser.h +56 -56
  112. data/ext/libxml/ruby_xml_schema.c +6 -0
  113. data/ext/libxml/ruby_xml_schema.h +16 -16
  114. data/ext/libxml/ruby_xml_state.c +13 -12
  115. data/ext/libxml/ruby_xml_state.h +1 -1
  116. data/ext/libxml/ruby_xml_xinclude.c +3 -2
  117. data/ext/libxml/ruby_xml_xinclude.h +13 -13
  118. data/ext/libxml/ruby_xml_xpath.c +35 -228
  119. data/ext/libxml/ruby_xml_xpath.h +22 -23
  120. data/ext/libxml/ruby_xml_xpath_context.c +223 -62
  121. data/ext/libxml/ruby_xml_xpath_context.h +15 -20
  122. data/ext/libxml/ruby_xml_xpath_object.c +63 -19
  123. data/ext/libxml/ruby_xml_xpointer.c +19 -15
  124. data/ext/libxml/ruby_xml_xpointer.h +27 -27
  125. data/ext/libxml/ruby_xml_xpointer_context.c +3 -2
  126. data/ext/libxml/ruby_xml_xpointer_context.h +18 -18
  127. data/ext/libxml/version.h +9 -9
  128. data/lib/libxml.rb +16 -128
  129. data/lib/libxml/attr.rb +45 -0
  130. data/lib/libxml/attributes.rb +15 -0
  131. data/lib/libxml/document.rb +54 -0
  132. data/lib/libxml/node.rb +132 -0
  133. data/lib/libxml/node_set.rb +27 -0
  134. data/lib/libxml/parser.rb +42 -0
  135. data/lib/libxml/parser_options.rb +25 -0
  136. data/lib/libxml/properties.rb +19 -0
  137. data/lib/libxml/tree.rb +29 -0
  138. data/lib/libxml_ruby.so +0 -0
  139. data/mingw/libxml_ruby.so +0 -0
  140. data/{work/task/setup → setup.rb} +1585 -1616
  141. data/test/gc.log +0 -0
  142. data/test/model/books.xml +147 -0
  143. data/{work/test/runner.rb → test/model/default_validation_bug.rb} +0 -0
  144. data/test/model/merge_bug_data.xml +58 -0
  145. data/test/model/rubynet.xml +78 -0
  146. data/test/model/rubynet_project +1 -0
  147. data/test/model/saxtest.xml +5 -0
  148. data/test/model/shiporder.xml +23 -0
  149. data/test/model/shiporder.xsd +31 -0
  150. data/test/model/simple.xml +7 -0
  151. data/test/model/soap.xml +27 -0
  152. data/test/model/xinclude.xml +5 -0
  153. data/test/tc_deprecated_require.rb +13 -0
  154. data/test/tc_xml_document.rb +57 -16
  155. data/test/tc_xml_document_write.rb +125 -10
  156. data/test/tc_xml_dtd.rb +22 -1
  157. data/test/tc_xml_node.rb +13 -0
  158. data/test/tc_xml_node_edit.rb +1 -1
  159. data/test/tc_xml_node_xlink.rb +1 -1
  160. data/test/tc_xml_parser.rb +64 -7
  161. data/test/tc_xml_properties.rb +42 -0
  162. data/test/tc_xml_reader.rb +4 -4
  163. data/test/tc_xml_sax_parser.rb +50 -50
  164. data/test/tc_xml_schema.rb +2 -2
  165. data/test/tc_xml_traversal.rb +220 -0
  166. data/test/tc_xml_xinclude.rb +12 -15
  167. data/test/tc_xml_xpath.rb +74 -6
  168. data/test/tc_xml_xpath_context.rb +72 -0
  169. data/test/test_suite.rb +6 -4
  170. data/vc/libxml_ruby.vcproj +1 -9
  171. metadata +92 -65
  172. data/doc/classes/XML/SiblingEnum.html +0 -142
  173. data/doc/classes/XML/Tree.html +0 -224
  174. data/doc/classes/XML/XPath/Object.html +0 -439
  175. data/ext/libxml/ruby_xml_tree.c +0 -43
  176. data/ext/libxml/ruby_xml_tree.h +0 -12
  177. data/test/ets_copy_bug2.rb +0 -21
  178. data/test/tc_xml_document_write2.rb +0 -54
  179. data/test/tc_xml_document_write3.rb +0 -96
  180. data/test/tc_xml_sax_parser2.rb +0 -51
  181. data/work/Rakefile +0 -247
  182. data/work/task/make +0 -26
  183. data/work/task/memory +0 -37
  184. data/work/task/rdoc +0 -39
  185. data/work/task/test +0 -29
  186. data/work/test/ets_runner.rb +0 -33
  187. data/work/test/libxml_test.rb +0 -3
  188. data/work/test/runner_ets.rb +0 -33
@@ -1,43 +0,0 @@
1
- /* $Id: ruby_xml_tree.c 300 2008-07-01 19:14:15Z cfis $ */
2
-
3
- /* Please see the LICENSE file for copyright and distribution information */
4
-
5
- #include "ruby_libxml.h"
6
- #include "ruby_xml_tree.h"
7
-
8
- VALUE cXMLTree;
9
-
10
- // Rdoc needs to know
11
- #ifdef RDOC_NEVER_DEFINED
12
- mXML = rb_define_module("XML");
13
- #endif
14
-
15
- void
16
- ruby_init_xml_tree(void) {
17
- cXMLTree = rb_define_class_under(mXML, "Tree", rb_cObject);
18
-
19
- rb_define_const(cXMLTree, "ELEMENT_NODE", INT2FIX(XML_ELEMENT_NODE));
20
- rb_define_const(cXMLTree, "ATTRIBUTE_NODE", INT2FIX(XML_ATTRIBUTE_NODE));
21
- rb_define_const(cXMLTree, "TEXT_NODE", INT2FIX(XML_TEXT_NODE));
22
- rb_define_const(cXMLTree, "CDATA_SECTION_NODE", INT2FIX(XML_CDATA_SECTION_NODE));
23
- rb_define_const(cXMLTree, "ENTITY_REF_NODE", INT2FIX(XML_ENTITY_REF_NODE));
24
- rb_define_const(cXMLTree, "ENTITY_NODE", INT2FIX(XML_ENTITY_NODE));
25
- rb_define_const(cXMLTree, "PI_NODE", INT2FIX(XML_PI_NODE));
26
- rb_define_const(cXMLTree, "COMMENT_NODE", INT2FIX(XML_COMMENT_NODE));
27
- rb_define_const(cXMLTree, "DOCUMENT_NODE", INT2FIX(XML_DOCUMENT_NODE));
28
- rb_define_const(cXMLTree, "DOCUMENT_TYPE_NODE", INT2FIX(XML_DOCUMENT_TYPE_NODE));
29
- rb_define_const(cXMLTree, "DOCUMENT_FRAG_NODE", INT2FIX(XML_DOCUMENT_FRAG_NODE));
30
- rb_define_const(cXMLTree, "NOTATION_NODE", INT2FIX(XML_NOTATION_NODE));
31
- rb_define_const(cXMLTree, "HTML_DOCUMENT_NODE", INT2FIX(XML_HTML_DOCUMENT_NODE));
32
- rb_define_const(cXMLTree, "DTD_NODE", INT2FIX(XML_DTD_NODE));
33
- rb_define_const(cXMLTree, "ELEMENT_DECL", INT2FIX(XML_ELEMENT_DECL));
34
- rb_define_const(cXMLTree, "ATTRIBUTE_DECL", INT2FIX(XML_ATTRIBUTE_DECL));
35
- rb_define_const(cXMLTree, "ENTITY_DECL", INT2FIX(XML_ENTITY_DECL));
36
- rb_define_const(cXMLTree, "NAMESPACE_DECL", INT2FIX(XML_NAMESPACE_DECL));
37
- rb_define_const(cXMLTree, "XINCLUDE_START", INT2FIX(XML_XINCLUDE_START));
38
- rb_define_const(cXMLTree, "XINCLUDE_END", INT2FIX(XML_XINCLUDE_END));
39
-
40
- #ifdef LIBXML_DOCB_ENABLED
41
- rb_define_const(cXMLTree, "DOCB_DOCUMENT_NODE", INT2FIX(XML_DOCB_DOCUMENT_NODE));
42
- #endif
43
- }
@@ -1,12 +0,0 @@
1
- /* $Id: ruby_xml_tree.h 39 2006-02-21 20:40:16Z roscopeco $ */
2
-
3
- /* Please see the LICENSE file for copyright and distribution information */
4
-
5
- #ifndef __RUBY_XML_TREE__
6
- #define __RUBY_XML_TREE__
7
-
8
- extern VALUE cXMLTree;
9
-
10
- void ruby_init_xml_tree(void);
11
-
12
- #endif
@@ -1,21 +0,0 @@
1
- require 'libxml'
2
-
3
- # This will cause a segmentation fault by
4
- # freeing a xml_node_object twice. Haven't
5
- # figured out why this is happening yet.
6
- 2.times do
7
- doc = XML::Document.new('1.0')
8
- doc.root = XML::Node.new("header")
9
-
10
- doc2 = XML::Document.new('1.0')
11
- doc2.root = XML::Node.new("footer")
12
-
13
- 4000.times do
14
- doc.root << doc2.root.copy(false)
15
- end
16
-
17
- nodes = doc.find('/header/footer')
18
- nodes = nil
19
-
20
- end
21
- puts 'hi'
@@ -1,54 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Document_Write2 < Test::Unit::TestCase
5
- def setup()
6
- @doc = XML::Document.new('1.0')
7
- assert_instance_of(XML::Document, @doc)
8
- end
9
-
10
- def teardown()
11
- @doc = nil
12
- end
13
-
14
- def test_ruby_xml_document_write_root()
15
- xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
16
- @doc.root = XML::Node.new('rubynet')
17
- assert_instance_of(XML::Node, @doc.root)
18
- assert_instance_of(XML::Document, @doc.root.doc)
19
- assert_equal(xml, @doc.to_s)
20
- end # def test_ruby_xml_document_write_root()
21
-
22
- def test_ruby_xml_document_write_root2()
23
- xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
24
- @doc.root = XML::Node.new('rubynet')
25
- assert_instance_of(XML::Node, @doc.root)
26
- assert_instance_of(XML::Document, @doc.root.doc)
27
- assert_equal(xml, @doc.to_s(false))
28
- end # def test_ruby_xml_document_write_root()
29
-
30
- def test_ruby_xml_document_write_root3()
31
- xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rubynet/>\n"
32
- @doc.root = XML::Node.new('rubynet')
33
- @doc.encoding = 'UTF-8'
34
- assert_instance_of(XML::Node, @doc.root)
35
- assert_instance_of(XML::Document, @doc.root.doc)
36
- assert_equal(xml, @doc.to_s)
37
- end # def test_ruby_xml_document_write_root()
38
-
39
- def test_ruby_xml_document_write_root4()
40
- xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
41
- @doc.root = XML::Node.new('rubynet')
42
- assert_instance_of(XML::Node, @doc.root)
43
- assert_instance_of(XML::Document, @doc.root.doc)
44
- assert_equal(xml, @doc.to_s(false))
45
- end # def test_ruby_xml_document_write_root()
46
-
47
- def test_ruby_xml_document_write_root5()
48
- xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
49
- @doc.root = XML::Node.new('rubynet')
50
- assert_instance_of(XML::Node, @doc.root)
51
- assert_instance_of(XML::Document, @doc.root.doc)
52
- assert_equal(xml, @doc.to_s(true))
53
- end # def test_ruby_xml_document_write_root()
54
- end
@@ -1,96 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Document_Write3 < Test::Unit::TestCase
5
- def setup()
6
- @doc = XML::Document.new('1.0')
7
- assert_instance_of(XML::Document, @doc)
8
- @doc.root = XML::Node.new('rubynet')
9
- end
10
-
11
- def teardown()
12
- @doc = nil
13
- end
14
-
15
- def test_ruby_xml_document_write_child()
16
- xml = "<?xml version=\"1.0\"?>\n<rubynet>\n <pkg/>\n</rubynet>\n"
17
- @doc.root.child = XML::Node.new('pkg')
18
- assert_equal(xml, @doc.to_s)
19
- end
20
-
21
- def test_ruby_xml_document_write_content_append()
22
- xml = "<?xml version=\"1.0\"?>\n"
23
- xml << "<rubynet>\n"
24
- xml << " <pkg>\n"
25
- xml << " <meta>\n"
26
- xml << " <pkgname>libxml</pkgname>\n"
27
- xml << " </meta>\n"
28
- xml << " </pkg>\n"
29
- xml << "</rubynet>\n"
30
- pkg = @doc.root.child = XML::Node.new('pkg')
31
- meta = pkg.child = XML::Node.new('meta')
32
- assert_equal meta, meta << (pkgname = XML::Node.new('pkgname'))
33
- pkgname << 'libxml'
34
- assert_equal(xml, @doc.to_s)
35
- end
36
-
37
- def test_ruby_xml_document_write_node_search_href()
38
- prefix = 'xlink'
39
- uri = 'http://www.rubynet.org'
40
- xml = "<?xml version=\"1.0\"?>\n"
41
- xml << "<rubynet xmlns:#{prefix}=\"#{uri}\">\n"
42
- xml << " <pkg/>\n"
43
- xml << "</rubynet>\n"
44
- @doc = XML::Parser.string(xml).parse
45
- assert_equal(xml, @doc.to_s)
46
- ns = @doc.root.search_href(uri)
47
- assert_instance_of(XML::NS, ns)
48
- assert_equal(uri, ns.href)
49
- assert_equal(prefix, ns.prefix)
50
- end
51
-
52
- def test_ruby_xml_document_write_sibling()
53
- xml = "<?xml version=\"1.0\"?>\n<rubynet>\n <pkg/>\n <pkg2/>\n</rubynet>\n"
54
- child = @doc.root.child = XML::Node.new('pkg')
55
- assert_instance_of(XML::Node, child)
56
- child.sibling = XML::Node.new('pkg2')
57
- assert_equal(xml, @doc.to_s)
58
- end
59
-
60
- def test_ruby_xml_document_write_set_doc_property()
61
- xml = "<?xml version=\"1.0\"?>\n"
62
- xml << "<rubynet xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n"
63
- xml << " <pkg/>\n"
64
- xml << "</rubynet>\n"
65
- @doc.root['xmlns:xlink'] = "http://www.w3.org/1999/xlink"
66
- pkg = @doc.root.child = XML::Node.new('pkg')
67
- assert_equal(xml, @doc.to_s)
68
- end
69
-
70
- def test_ruby_xml_document_write_set_node_base()
71
- xml = "<?xml version=\"1.0\"?>\n"
72
- xml << "<rubynet>\n"
73
- xml << " <pkg xml:base=\"http://www.rubynet.org/\"/>\n"
74
- xml << "</rubynet>\n"
75
- pkg = @doc.root.child = XML::Node.new('pkg')
76
- pkg.base = 'http://www.rubynet.org/'
77
- assert_equal(xml, @doc.to_s)
78
- end
79
-
80
- def test_ruby_xml_document_write_set_node_property()
81
- xml = "<?xml version=\"1.0\"?>\n"
82
- xml << "<rubynet xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n"
83
- xml << " <pkg version=\"1.0\">\n"
84
- xml << " <meta>\n"
85
- xml << " <pkgname>libxml</pkgname>\n"
86
- xml << " </meta>\n"
87
- xml << " </pkg>\n"
88
- xml << "</rubynet>\n"
89
- @doc.root['xmlns:xlink'] = "http://www.w3.org/1999/xlink"
90
- pkg = @doc.root.child = XML::Node.new('pkg')
91
- pkg['version'] = '1.0'
92
- meta = pkg.child = XML::Node.new('meta')
93
- pkgname = meta.child = XML::Node.new('pkgname', 'libxml')
94
- assert_equal(xml, @doc.to_s)
95
- end
96
- end
@@ -1,51 +0,0 @@
1
- require 'libxml'
2
- require 'test/unit'
3
-
4
- # TODO this is woefully inadequate
5
-
6
- class TC_XML_SaxParser2 < Test::Unit::TestCase
7
- def setup()
8
- @xp = XML::SaxParser.new
9
- end
10
-
11
- def teardown()
12
- @xp = nil
13
- end
14
-
15
- def test_string_without_callbacks
16
- @xp.string = File.read(File.join(File.dirname(__FILE__), 'model/saxtest.xml'))
17
- assert_equal true, @xp.parse
18
- end
19
-
20
- def test_file_without_callbacks
21
- @xp.filename = File.join(File.dirname(__FILE__), 'model/saxtest.xml')
22
- assert_equal true, @xp.parse
23
- end
24
-
25
- def test_callbacks_with_string
26
- @xp.callbacks = TestCaseCallbacks.new
27
- @xp.string = File.read(File.join(File.dirname(__FILE__), 'model/saxtest.xml'))
28
- do_test
29
- end
30
-
31
- def test_callbacks_with_file
32
- @xp.callbacks = TestCaseCallbacks.new
33
- @xp.filename = File.join(File.dirname(__FILE__), 'model/saxtest.xml')
34
- do_test
35
- end
36
-
37
- def do_test
38
- @xp.parse
39
-
40
- assert_equal [1], @xp.callbacks.test[:startdoc]
41
- assert_equal [[2,'test',{'uga'=>'booga','foo'=>'bar'}],[3,'fixnum',{}],[6,'fixnum',{}]],
42
- @xp.callbacks.test[:startel]
43
- assert_equal [[4,'one'],[7,'two'],[9,"\n "],[11,"\n "],[13,"\n "],[15,"\n"]],
44
- @xp.callbacks.test[:chars]
45
- assert_equal [[10, ' msg ']], @xp.callbacks.test[:comment]
46
- assert_equal [[12, 'custom', 'foo="bar"']], @xp.callbacks.test[:pinstr]
47
- assert_equal [[14, 'here it goes']], @xp.callbacks.test[:cdata]
48
- assert_equal [[5,'fixnum'],[8,'fixnum'],[16,'test']], @xp.callbacks.test[:endel]
49
- assert_equal [17], @xp.callbacks.test[:enddoc]
50
- end
51
- end # TC_XML_Sax_Parser
@@ -1,247 +0,0 @@
1
- require 'net/ftp'
2
- require 'rake/clean'
3
- require 'rake/testtask'
4
- require 'rake/rdoctask'
5
- require 'rake/gempackagetask'
6
-
7
- CLEAN.include '**/*.o'
8
- CLEAN.include '**/*.so'
9
-
10
- CLOBBER.include 'doc/rdoc'
11
- CLOBBER.include '**/*.log'
12
- CLOBBER.include '**/Makefile'
13
- CLOBBER.include '**/extconf.h'
14
-
15
- desc "Default task (compile, test and memory test)"
16
- task :default => [:compile, :test, :memory]
17
-
18
- desc "Compile extensions."
19
- task :compile do
20
- sh "task/make"
21
- end
22
-
23
- desc "Run unit test suite."
24
- task :test do
25
- sh "task/test"
26
- end
27
-
28
- desc "Run memory test suite."
29
- task :memory do
30
- sh "task/memory"
31
- end
32
-
33
- desc "Generate rdoc documentation."
34
- task :rdoc do
35
- sh "task/rdoc"
36
- end
37
-
38
- desc "Install to local site directory."
39
- task :setup do
40
- sh "task/setup"
41
- end
42
-
43
- __END__
44
-
45
- # THIS IS THE OLD RAKEFILE. WE LEAVE IT HERE FOR THE TIME BEING
46
- # SO WE CAN REFERENCE IT TO IMPROVE THE NEW SCRIPTS IF NEEDED.
47
-
48
- # Determine the current version of the software
49
- if File.read('ext/xml/libxml.h') =~ /\s*RUBY_LIBXML_VERSION\s*['"](\d.+)['"]/
50
- CURRENT_VERSION = $1
51
- else
52
- CURRENT_VERSION = "0.0.0"
53
- end
54
-
55
- if ENV['REL']
56
- PKG_VERSION = ENV['REL']
57
- else
58
- PKG_VERSION = CURRENT_VERSION
59
- end
60
-
61
- task :test_ver do
62
- puts PKG_VERSION
63
- end
64
-
65
- # Make tasks -----------------------------------------------------
66
- MAKECMD = ENV['MAKE_CMD'] || 'make'
67
- MAKEOPTS = ENV['MAKE_OPTS'] || ''
68
-
69
- file 'ext/xml/Makefile' => 'ext/xml/extconf.rb' do
70
- Dir.chdir('ext/xml') do
71
- ruby 'extconf.rb'
72
- end
73
- end
74
-
75
- def make(target = '')
76
- Dir.chdir('ext/xml') do
77
- pid = fork { exec "#{MAKECMD} #{MAKEOPTS} #{target}" }
78
- Process.waitpid pid
79
- end
80
- $?.exitstatus
81
- end
82
-
83
- # Let make handle dependencies between c/o/so - we'll just run it.
84
- file 'ext/xml/libxml.so' => 'ext/xml/Makefile' do
85
- m = make
86
- fail "Make failed (status #{m})" unless m == 0
87
- end
88
-
89
- desc "Compile the shared object"
90
- task :compile => 'ext/xml/libxml.so'
91
-
92
- desc "Install to your site_ruby directory"
93
- task :install => :compile do
94
- m = make 'install'
95
- fail "Make install failed (status #{m})" unless m == 0
96
- end
97
-
98
- # Test Tasks ---------------------------------------------------------
99
- task :ta => :alltests
100
- task :tu => :unittests
101
- task :test => :unittests
102
- task :tm => :memtests
103
-
104
- Rake::TestTask.new(:alltests) do |t|
105
- t.test_files = FileList[
106
- 'tests/runner.rb',
107
- 'tests/contrib/*.rb',
108
- ]
109
- t.verbose = true
110
- end
111
-
112
- Rake::TestTask.new(:unittests) do |t|
113
- t.test_files = FileList['tests/runner.rb']
114
- t.verbose = false
115
- end
116
-
117
- Rake::TestTask.new(:memtests) do |t|
118
- t.test_files = FileList[
119
- 'tests/runner_ets.rb'
120
- ]
121
- t.verbose = true
122
- end
123
-
124
- #Rake::TestTask.new(:funtests) do |t|
125
- # t.test_files = FileList['test/fun*.rb']
126
- #t.warning = true
127
- #t.warning = true
128
- #end
129
-
130
- task :unittests => :compile
131
- task :alltests => :compile
132
- task :memtests => :compile
133
-
134
- # RDoc Tasks ---------------------------------------------------------
135
- desc "Create the RDOC documentation tree"
136
- rd = Rake::RDocTask.new(:doc) do |rdoc|
137
- rdoc.rdoc_dir = 'html'
138
- rdoc.title = "Libxml-Ruby API"
139
- rdoc.options << '--main' << 'README'
140
- rdoc.rdoc_files.include('README', 'LICENSE', 'TODO')
141
- rdoc.rdoc_files.include('ext/xml/ruby_xml*.c', 'ext/xml/libxml.rb')
142
- rdoc.rdoc_files.include('*.rdoc')
143
- end
144
-
145
- desc "Publish the RDoc documentation to project web site"
146
- task :pubdoc => [ :doc ] do
147
- unless ENV['RUBYFORGE_ACCT']
148
- raise "Need to set RUBYFORGE_ACCT to your rubyforge.org user name (e.g. 'fred')"
149
- end
150
- require 'rake/contrib/sshpublisher'
151
- Rake::SshDirPublisher.new(
152
- "#{ENV['RUBYFORGE_ACCT']}@rubyforge.org",
153
- "/var/www/gforge-projects/libxml/doc",
154
- "html"
155
- ).upload
156
- end
157
-
158
- # Packaging / Version number tasks -----------------------------------
159
- # Used during release packaging if a REL is supplied
160
- task :update_version do
161
- unless PKG_VERSION == CURRENT_VERSION
162
- pkg_vernum = PKG_VERSION.tr('.','').sub(/^0*/,'')
163
- pkg_vernum << '0' until pkg_vernum.length > 2
164
-
165
- File.open('ext/xml/libxml.h.new','w+') do |f|
166
- maj, min, mic, patch = /(\d+)\.(\d+)(?:\.(\d+))?(?:\.(\d+))?/.match(PKG_VERSION).captures
167
- f << File.read('ext/xml/libxml.h').
168
- gsub(/RUBY_LIBXML_VERSION\s+"(\d.+)"/) { "RUBY_LIBXML_VERSION \"#{PKG_VERSION}\"" }.
169
- gsub(/RUBY_LIBXML_VERNUM\s+\d+/) { "RUBY_LIBXML_VERNUM #{pkg_vernum}" }.
170
- gsub(/RUBY_LIBXML_VER_MAJ\s+\d+/) { "RUBY_LIBXML_VER_MAJ #{maj}" }.
171
- gsub(/RUBY_LIBXML_VER_MIN\s+\d+/) { "RUBY_LIBXML_VER_MIN #{min}" }.
172
- gsub(/RUBY_LIBXML_VER_MIC\s+\d+/) { "RUBY_LIBXML_VER_MIC #{mic || 0}" }.
173
- gsub(/RUBY_LIBXML_VER_PATCH\s+\d+/) { "RUBY_LIBXML_VER_PATCH #{patch || 0}" }
174
- end
175
- mv('ext/xml/libxml.h.new', 'ext/xml/libxml.h')
176
- end
177
- end
178
-
179
- PKG_FILES = FileList[
180
- 'ext/xml/*.rb',
181
- 'ext/xml/extconf.rb',
182
- '[A-Z]*',
183
- 'ext/xml/*.c',
184
- 'ext/xml/*.inc',
185
- 'ext/xml/ruby_xml*.h',
186
- 'ext/xml/libxml.h',
187
- 'tests/**/*',
188
- ]
189
-
190
- if ! defined?(Gem)
191
- warn "Package Target requires RubyGEMs"
192
- else
193
- spec = Gem::Specification.new do |s|
194
-
195
- #### Basic information.
196
-
197
- s.name = 'libxml-ruby'
198
- s.version = PKG_VERSION
199
- s.summary = "LibXML2 bindings for Ruby"
200
- s.description = <<-EOF
201
- C-language bindings for Gnome LibXML2 and Ruby. Supports
202
- high-speed, feature rich XML processing in Ruby apps.
203
- EOF
204
- s.extensions = 'ext/xml/extconf.rb'
205
-
206
- #### Which files are to be included in this gem?
207
-
208
- s.files = PKG_FILES.to_a
209
-
210
- #### Load-time details
211
- s.require_path = 'lib'
212
-
213
- #### Documentation and testing.
214
- s.has_rdoc = true
215
- s.extra_rdoc_files = rd.rdoc_files.to_a
216
- s.rdoc_options <<
217
- '--title' << 'Libxml-Ruby API' <<
218
- '--main' << 'README'
219
-
220
- s.test_files = Dir.glob('tests/*runner.rb')
221
-
222
- #### Author and project details.
223
-
224
- s.author = "Sean Chittenden"
225
- s.email = "libxml-devel@rubyforge.org"
226
- s.homepage = "http://libxml.rubyforge.org"
227
- s.rubyforge_project = "libxml"
228
- end
229
-
230
- # Quick fix for Ruby 1.8.3 / YAML bug
231
- if (RUBY_VERSION == '1.8.3')
232
- def spec.to_yaml
233
- out = super
234
- out = '--- ' + out unless out =~ /^---/
235
- out
236
- end
237
- end
238
-
239
- package_task = Rake::GemPackageTask.new(spec) do |pkg|
240
- pkg.need_zip = true
241
- pkg.need_tar_gz = true
242
- pkg.package_dir = 'pkg'
243
- end
244
-
245
- desc "Build a full release"
246
- task :release => [:clobber, :update_version, :compile, :test, :package]
247
- end