libxml-ruby 0.3.6

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 (74) hide show
  1. data/CHANGELOG +49 -0
  2. data/LICENSE +22 -0
  3. data/README +129 -0
  4. data/Rakefile +197 -0
  5. data/TODO +84 -0
  6. data/ext/xml/cbg.c +76 -0
  7. data/ext/xml/extconf.rb +95 -0
  8. data/ext/xml/libxml.c +86 -0
  9. data/ext/xml/libxml.h +79 -0
  10. data/ext/xml/ruby_xml_attr.c +372 -0
  11. data/ext/xml/ruby_xml_attr.h +21 -0
  12. data/ext/xml/ruby_xml_attribute.c +224 -0
  13. data/ext/xml/ruby_xml_attribute.h +21 -0
  14. data/ext/xml/ruby_xml_document.c +1159 -0
  15. data/ext/xml/ruby_xml_document.h +27 -0
  16. data/ext/xml/ruby_xml_dtd.c +168 -0
  17. data/ext/xml/ruby_xml_dtd.h +17 -0
  18. data/ext/xml/ruby_xml_input_cbg.c +167 -0
  19. data/ext/xml/ruby_xml_input_cbg.h +21 -0
  20. data/ext/xml/ruby_xml_node.c +2052 -0
  21. data/ext/xml/ruby_xml_node.h +28 -0
  22. data/ext/xml/ruby_xml_node_set.c +197 -0
  23. data/ext/xml/ruby_xml_node_set.h +26 -0
  24. data/ext/xml/ruby_xml_ns.c +153 -0
  25. data/ext/xml/ruby_xml_ns.h +21 -0
  26. data/ext/xml/ruby_xml_parser.c +1363 -0
  27. data/ext/xml/ruby_xml_parser.h +31 -0
  28. data/ext/xml/ruby_xml_parser_context.c +715 -0
  29. data/ext/xml/ruby_xml_parser_context.h +22 -0
  30. data/ext/xml/ruby_xml_sax_parser.c +181 -0
  31. data/ext/xml/ruby_xml_sax_parser.h +21 -0
  32. data/ext/xml/ruby_xml_schema.c +142 -0
  33. data/ext/xml/ruby_xml_schema.h +16 -0
  34. data/ext/xml/ruby_xml_tree.c +43 -0
  35. data/ext/xml/ruby_xml_tree.h +12 -0
  36. data/ext/xml/ruby_xml_xinclude.c +20 -0
  37. data/ext/xml/ruby_xml_xinclude.h +13 -0
  38. data/ext/xml/ruby_xml_xpath.c +357 -0
  39. data/ext/xml/ruby_xml_xpath.h +24 -0
  40. data/ext/xml/ruby_xml_xpath_context.c +124 -0
  41. data/ext/xml/ruby_xml_xpath_context.h +24 -0
  42. data/ext/xml/ruby_xml_xpointer.c +100 -0
  43. data/ext/xml/ruby_xml_xpointer.h +27 -0
  44. data/ext/xml/ruby_xml_xpointer_context.c +22 -0
  45. data/ext/xml/ruby_xml_xpointer_context.h +18 -0
  46. data/tests/copy_bug.rb +21 -0
  47. data/tests/dtd-test.rb +24 -0
  48. data/tests/model/default_validation_bug.rb +0 -0
  49. data/tests/model/rubynet.xml +78 -0
  50. data/tests/model/rubynet_project +13 -0
  51. data/tests/model/xinclude.xml +5 -0
  52. data/tests/runner.rb +13 -0
  53. data/tests/schema-test.rb +74 -0
  54. data/tests/tc_default_validation.rb +0 -0
  55. data/tests/tc_xml_document.rb +51 -0
  56. data/tests/tc_xml_document_write.rb +25 -0
  57. data/tests/tc_xml_document_write2.rb +55 -0
  58. data/tests/tc_xml_document_write3.rb +97 -0
  59. data/tests/tc_xml_node.rb +59 -0
  60. data/tests/tc_xml_node2.rb +26 -0
  61. data/tests/tc_xml_node_set.rb +25 -0
  62. data/tests/tc_xml_node_xlink.rb +28 -0
  63. data/tests/tc_xml_parser.rb +175 -0
  64. data/tests/tc_xml_parser2.rb +17 -0
  65. data/tests/tc_xml_parser3.rb +23 -0
  66. data/tests/tc_xml_parser4.rb +33 -0
  67. data/tests/tc_xml_parser5.rb +27 -0
  68. data/tests/tc_xml_parser6.rb +23 -0
  69. data/tests/tc_xml_parser7.rb +28 -0
  70. data/tests/tc_xml_parser_context.rb +89 -0
  71. data/tests/tc_xml_xinclude.rb +30 -0
  72. data/tests/tc_xml_xpath.rb +23 -0
  73. data/tests/tc_xml_xpointer.rb +78 -0
  74. metadata +144 -0
@@ -0,0 +1,25 @@
1
+ # $Id: tc_xml_document_write.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Document_Write < Test::Unit::TestCase
6
+ def setup()
7
+ @doc = XML::Document.new('1.0')
8
+ assert_instance_of(XML::Document, @doc)
9
+ end
10
+
11
+ def teardown()
12
+ @doc = nil
13
+ end
14
+
15
+ def test_ruby_xml_document_write_initialize()
16
+ assert_instance_of(XML::Document, XML::Document.new())
17
+ assert_equal('1.0', @doc.version)
18
+ end # def test_ruby_xml_document_initialize()
19
+
20
+ def test_ruby_xml_document_write_initialize2()
21
+ doc = XML::Document.new('6.9')
22
+ assert_instance_of(XML::Document, doc)
23
+ assert_equal('6.9', doc.version)
24
+ end # def test_ruby_xml_document_initialize2()
25
+ end # TC_XML_Document_Write
@@ -0,0 +1,55 @@
1
+ # $Id: tc_xml_document_write2.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Document_Write2 < Test::Unit::TestCase
6
+ def setup()
7
+ @doc = XML::Document.new('1.0')
8
+ assert_instance_of(XML::Document, @doc)
9
+ end
10
+
11
+ def teardown()
12
+ @doc = nil
13
+ end
14
+
15
+ def test_ruby_xml_document_write_root()
16
+ xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
17
+ @doc.root = XML::Node.new('rubynet')
18
+ assert_instance_of(XML::Node, @doc.root)
19
+ assert_instance_of(XML::Document, @doc.root.doc)
20
+ assert_equal(xml, @doc.to_s)
21
+ end # def test_ruby_xml_document_write_root()
22
+
23
+ def test_ruby_xml_document_write_root2()
24
+ xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
25
+ @doc.root = XML::Node.new('rubynet')
26
+ assert_instance_of(XML::Node, @doc.root)
27
+ assert_instance_of(XML::Document, @doc.root.doc)
28
+ assert_equal(xml, @doc.to_s(false))
29
+ end # def test_ruby_xml_document_write_root()
30
+
31
+ def test_ruby_xml_document_write_root3()
32
+ xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rubynet/>\n"
33
+ @doc.root = XML::Node.new('rubynet')
34
+ @doc.encoding = 'UTF-8'
35
+ assert_instance_of(XML::Node, @doc.root)
36
+ assert_instance_of(XML::Document, @doc.root.doc)
37
+ assert_equal(xml, @doc.to_s)
38
+ end # def test_ruby_xml_document_write_root()
39
+
40
+ def test_ruby_xml_document_write_root4()
41
+ xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
42
+ @doc.root = XML::Node.new('rubynet')
43
+ assert_instance_of(XML::Node, @doc.root)
44
+ assert_instance_of(XML::Document, @doc.root.doc)
45
+ assert_equal(xml, @doc.to_s(false))
46
+ end # def test_ruby_xml_document_write_root()
47
+
48
+ def test_ruby_xml_document_write_root5()
49
+ xml = "<?xml version=\"1.0\"?>\n<rubynet/>\n"
50
+ @doc.root = XML::Node.new('rubynet')
51
+ assert_instance_of(XML::Node, @doc.root)
52
+ assert_instance_of(XML::Document, @doc.root.doc)
53
+ assert_equal(xml, @doc.to_s(true))
54
+ end # def test_ruby_xml_document_write_root()
55
+ end
@@ -0,0 +1,97 @@
1
+ # $Id: tc_xml_document_write3.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Document_Write3 < Test::Unit::TestCase
6
+ def setup()
7
+ @doc = XML::Document.new('1.0')
8
+ assert_instance_of(XML::Document, @doc)
9
+ @doc.root = XML::Node.new('rubynet')
10
+ end
11
+
12
+ def teardown()
13
+ @doc = nil
14
+ end
15
+
16
+ def test_ruby_xml_document_write_child()
17
+ xml = "<?xml version=\"1.0\"?>\n<rubynet>\n <pkg/>\n</rubynet>\n"
18
+ @doc.root.child = XML::Node.new('pkg')
19
+ assert_equal(xml, @doc.to_s)
20
+ end
21
+
22
+ def test_ruby_xml_document_write_content_append()
23
+ xml = "<?xml version=\"1.0\"?>\n"
24
+ xml << "<rubynet>\n"
25
+ xml << " <pkg>\n"
26
+ xml << " <meta>\n"
27
+ xml << " <pkgname>libxml</pkgname>\n"
28
+ xml << " </meta>\n"
29
+ xml << " </pkg>\n"
30
+ xml << "</rubynet>\n"
31
+ pkg = @doc.root.child = XML::Node.new('pkg')
32
+ meta = pkg.child = XML::Node.new('meta')
33
+ pkgname = meta << XML::Node.new('pkgname')
34
+ pkgname << 'libxml'
35
+ assert_equal(xml, @doc.to_s)
36
+ end
37
+
38
+ def test_ruby_xml_document_write_node_search_href()
39
+ prefix = 'xlink'
40
+ uri = 'http://www.rubynet.org'
41
+ xml = "<?xml version=\"1.0\"?>\n"
42
+ xml << "<rubynet xmlns:#{prefix}=\"#{uri}\">\n"
43
+ xml << " <pkg/>\n"
44
+ xml << "</rubynet>\n"
45
+ @doc = XML::Parser.string(xml).parse
46
+ assert_equal(xml, @doc.to_s)
47
+ ns = @doc.root.search_href(uri)
48
+ assert_instance_of(XML::NS, ns)
49
+ assert_equal(uri, ns.href)
50
+ assert_equal(prefix, ns.prefix)
51
+ end
52
+
53
+ def test_ruby_xml_document_write_sibling()
54
+ xml = "<?xml version=\"1.0\"?>\n<rubynet>\n <pkg/>\n <pkg2/>\n</rubynet>\n"
55
+ child = @doc.root.child = XML::Node.new('pkg')
56
+ assert_instance_of(XML::Node, child)
57
+ child.sibling = XML::Node.new('pkg2')
58
+ assert_equal(xml, @doc.to_s)
59
+ end
60
+
61
+ def test_ruby_xml_document_write_set_doc_property()
62
+ xml = "<?xml version=\"1.0\"?>\n"
63
+ xml << "<rubynet xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n"
64
+ xml << " <pkg/>\n"
65
+ xml << "</rubynet>\n"
66
+ @doc['xmlns:xlink'] = "http://www.w3.org/1999/xlink"
67
+ pkg = @doc.root.child = XML::Node.new('pkg')
68
+ assert_equal(xml, @doc.to_s)
69
+ end
70
+
71
+ def test_ruby_xml_document_write_set_node_base()
72
+ xml = "<?xml version=\"1.0\"?>\n"
73
+ xml << "<rubynet>\n"
74
+ xml << " <pkg xml:base=\"http://www.rubynet.org/\"/>\n"
75
+ xml << "</rubynet>\n"
76
+ pkg = @doc.root.child = XML::Node.new('pkg')
77
+ pkg.base = 'http://www.rubynet.org/'
78
+ assert_equal(xml, @doc.to_s)
79
+ end
80
+
81
+ def test_ruby_xml_document_write_set_node_property()
82
+ xml = "<?xml version=\"1.0\"?>\n"
83
+ xml << "<rubynet xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n"
84
+ xml << " <pkg version=\"1.0\">\n"
85
+ xml << " <meta>\n"
86
+ xml << " <pkgname>libxml</pkgname>\n"
87
+ xml << " </meta>\n"
88
+ xml << " </pkg>\n"
89
+ xml << "</rubynet>\n"
90
+ @doc.root['xmlns:xlink'] = "http://www.w3.org/1999/xlink"
91
+ pkg = @doc.root.child = XML::Node.new('pkg')
92
+ pkg['version'] = '1.0'
93
+ meta = pkg.child = XML::Node.new('meta')
94
+ pkgname = meta.child = XML::Node.new('pkgname', 'libxml')
95
+ assert_equal(xml, @doc.to_s)
96
+ end
97
+ end
@@ -0,0 +1,59 @@
1
+ # $Id: tc_xml_node.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Node < Test::Unit::TestCase
6
+ def setup()
7
+ xp = XML::Parser.new()
8
+ str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
9
+ assert_equal(str, xp.string = str)
10
+ doc = xp.parse
11
+ assert_instance_of(XML::Document, doc)
12
+ @root = doc.root
13
+ assert_instance_of(XML::Node, @root)
14
+ set = doc.find('/ruby_array/fixnum')
15
+ assert_instance_of(XML::Node::Set, set)
16
+ xpt = set.xpath
17
+ assert_instance_of(XML::XPath, xpt)
18
+ @nodes = []
19
+ set.each do |n|
20
+ @nodes.push(n)
21
+ end
22
+ end
23
+
24
+ def teardown()
25
+ @nodes = nil
26
+ @root = nil
27
+ end
28
+
29
+ def test_libxml_node_class()
30
+ for n in @nodes
31
+ assert_instance_of(XML::Node, n)
32
+ end
33
+ end
34
+
35
+ def test_libxml_node_child_get()
36
+ assert_instance_of(TrueClass, @root.child?)
37
+ assert_instance_of(XML::Node, @root.child)
38
+ assert_equal('fixnum', @root.child.name)
39
+ end
40
+
41
+ def test_libxml_node_doc()
42
+ for n in @nodes
43
+ assert_instance_of(XML::Document, n.doc) if n.document?
44
+ end
45
+ end
46
+
47
+ def test_libxml_node_type_name()
48
+ assert_equal('element', @nodes[0].node_type_name)
49
+ assert_equal('element', @nodes[1].node_type_name)
50
+ end
51
+
52
+ def test_libxml_node_find()
53
+ set = @root.find('./fixnum')
54
+ assert_instance_of(XML::Node::Set, set)
55
+ for node in set
56
+ assert_instance_of(XML::Node, node)
57
+ end
58
+ end
59
+ end # TC_XML_Document
@@ -0,0 +1,26 @@
1
+ # $Id: tc_xml_node2.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Node2 < Test::Unit::TestCase
6
+ def setup()
7
+ xp = XML::Parser.new()
8
+ str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
9
+ assert_equal(str, xp.string = str)
10
+ doc = xp.parse
11
+ assert_instance_of(XML::Document, doc)
12
+ assert_instance_of(XML::Node, doc.root)
13
+ @root = doc.root
14
+ assert_instance_of(XML::Node, @root)
15
+ end
16
+
17
+ def teardown()
18
+ @root = nil
19
+ end
20
+
21
+ def test_xml_node_doc_get()
22
+ GC.start
23
+ assert_instance_of(XML::Node, @root)
24
+ assert_instance_of(XML::Document, @root.doc)
25
+ end
26
+ end
@@ -0,0 +1,25 @@
1
+ # $Id: tc_xml_node_set.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Node_Set < Test::Unit::TestCase
6
+ def setup()
7
+ xp = XML::Parser.new()
8
+ str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
9
+ assert_equal(str, xp.string = str)
10
+ doc = xp.parse
11
+ assert_instance_of(XML::Document, doc)
12
+ @set = doc.find('/ruby_array/fixnum')
13
+ assert_instance_of(XML::Node::Set, @set)
14
+ end
15
+
16
+ def teardown()
17
+ @set = nil
18
+ end
19
+
20
+ def test_libxml_nodeset_each()
21
+ @set.each do |n|
22
+ assert_instance_of(XML::Node, n)
23
+ end
24
+ end
25
+ end # TC_XML_Document
@@ -0,0 +1,28 @@
1
+ # $Id: tc_xml_node_xlink.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Node3 < Test::Unit::TestCase
6
+ def setup()
7
+ xp = XML::Parser.new()
8
+ str = '<ruby_array xmlns:xlink="http://www.w3.org/1999/xlink/namespace/"><fixnum xlink:type="simple">one</fixnum></ruby_array>'
9
+ assert_equal(str, xp.string = str)
10
+ doc = xp.parse
11
+ assert_instance_of(XML::Document, doc)
12
+ @root = doc.root
13
+ assert_instance_of(XML::Node, @root)
14
+ end
15
+
16
+ def teardown()
17
+ @root = nil
18
+ end
19
+
20
+ def test_xml_node_xlink()
21
+ for elem in @root.find('fixnum')
22
+ assert_instance_of(XML::Node, elem)
23
+ assert_instance_of(TrueClass, elem.xlink?)
24
+ assert_equal("simple", elem.xlink_type_name)
25
+ assert_equal(XML::Node::XLINK_TYPE_SIMPLE, elem.xlink_type)
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,175 @@
1
+ # $Id: tc_xml_parser.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $
2
+ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Parser < Test::Unit::TestCase
6
+ def setup()
7
+ @xp = XML::Parser.new()
8
+ assert_not_nil(@xp)
9
+ end
10
+
11
+ def teardown()
12
+ @xp = nil
13
+ end
14
+
15
+ def test_libxml_parser_string()
16
+ str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
17
+ assert_equal(str, @xp.string = str)
18
+ assert_instance_of(XML::Document, @xp.parse)
19
+ end
20
+
21
+ def test_libxml_parser_bad_xml()
22
+ # @xp.string = '<ruby_array uga="booga" foo="bar"<fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
23
+ # assert_not_nil(@xp.parse)
24
+ end
25
+
26
+ def test_ruby_xml_parser_check_lib_versions()
27
+ assert(XML::Parser::check_lib_versions)
28
+ end
29
+
30
+ def test_ruby_xml_parser_debug_entities()
31
+ XML::Parser::debug_entities = false
32
+ assert(!XML::Parser::debug_entities)
33
+
34
+ XML::Parser::debug_entities = true
35
+ assert(XML::Parser::debug_entities)
36
+
37
+ XML::Parser::debug_entities = false
38
+ assert(!XML::Parser::debug_entities)
39
+ end
40
+
41
+
42
+ def test_ruby_xml_parser_default_compression()
43
+ 0.upto(9) do |i|
44
+ XML::Parser::default_compression = i
45
+ assert_equal(i, XML::Parser::default_compression)
46
+ end
47
+
48
+ 9.downto(0) do |i|
49
+ assert_equal(i, XML::Parser::default_compression = i)
50
+ assert_equal(i, XML::Parser::default_compression)
51
+ end
52
+
53
+ 0.downto(-10) do |i|
54
+ assert_equal(i, XML::Parser::default_compression = i)
55
+ assert_equal(0, XML::Parser::default_compression)
56
+ end
57
+
58
+ 10.upto(20) do |i|
59
+ assert_equal(i, XML::Parser::default_compression = i)
60
+ assert_equal(9, XML::Parser::default_compression)
61
+ end
62
+ end
63
+
64
+ def test_ruby_xml_parser_default_keep_blanks()
65
+ XML::Parser::default_keep_blanks = false
66
+ assert(!XML::Parser::default_keep_blanks)
67
+
68
+ XML::Parser::default_keep_blanks = true
69
+ assert(XML::Parser::default_keep_blanks)
70
+
71
+ XML::Parser::default_keep_blanks = false
72
+ assert(!XML::Parser::default_keep_blanks)
73
+ end
74
+
75
+ def test_ruby_xml_parser_default_line_numbers()
76
+ XML::Parser::default_line_numbers = false
77
+ assert(!XML::Parser::default_line_numbers)
78
+
79
+ XML::Parser::default_line_numbers = true
80
+ assert(XML::Parser::default_line_numbers)
81
+
82
+ XML::Parser::default_line_numbers = false
83
+ assert(!XML::Parser::default_line_numbers)
84
+ end
85
+
86
+ def test_ruby_xml_parser_default_substitute_entities()
87
+ XML::Parser::default_substitute_entities = false
88
+ assert(!XML::Parser::default_substitute_entities)
89
+
90
+ XML::Parser::default_substitute_entities = true
91
+ assert(XML::Parser::default_substitute_entities)
92
+
93
+ XML::Parser::default_substitute_entities = false
94
+ assert(!XML::Parser::default_substitute_entities)
95
+ end
96
+
97
+ def test_ruby_xml_parser_default_tree_indent_string()
98
+ s = XML::Parser::default_tree_indent_string()
99
+ assert_instance_of(String, s)
100
+ assert_equal(' ', s)
101
+ XML::Parser::default_tree_indent_string = 'uga'
102
+ s = XML::Parser::default_tree_indent_string()
103
+ assert_instance_of(String, s)
104
+ assert_equal('uga', s)
105
+ XML::Parser::default_tree_indent_string = ' '
106
+ s = XML::Parser::default_tree_indent_string()
107
+ assert_instance_of(String, s)
108
+ assert_equal(' ', s)
109
+ end
110
+
111
+ def test_ruby_xml_parser_default_validity_checking()
112
+ XML::Parser::default_validity_checking = false
113
+ assert(!XML::Parser::default_validity_checking)
114
+
115
+ XML::Parser::default_validity_checking = true
116
+ assert(XML::Parser::default_validity_checking)
117
+
118
+ XML::Parser::default_validity_checking = false
119
+ assert(!XML::Parser::default_validity_checking)
120
+ end
121
+
122
+ def test_ruby_xml_parser_default_warnings()
123
+ XML::Parser::default_warnings = false
124
+ assert(!XML::Parser::default_warnings)
125
+
126
+ XML::Parser::default_warnings = true
127
+ assert(XML::Parser::default_warnings)
128
+
129
+ XML::Parser::default_warnings = false
130
+ assert(!XML::Parser::default_warnings)
131
+ end
132
+
133
+ def test_ruby_xml_parser_intent_tree_output()
134
+ assert(TrueClass, XML::Parser::indent_tree_output)
135
+
136
+ XML::Parser::indent_tree_output = false
137
+ assert(FalseClass, XML::Parser::indent_tree_output)
138
+
139
+ XML::Parser::indent_tree_output = true
140
+ assert(TrueClass, XML::Parser::indent_tree_output)
141
+ end
142
+
143
+ def test_ruby_xml_parser_version()
144
+ assert_instance_of(String, XML::Parser::VERSION)
145
+ end
146
+
147
+ def test_ruby_xml_parser_vernum()
148
+ assert_instance_of(Fixnum, XML::Parser::VERNUM)
149
+ end
150
+
151
+ def test_ruby_xml_parser_parser_context()
152
+ @xp = XML::Parser.string('<rubynet><testing>uga</testing><uga>foo</uga></rubynet>')
153
+ doc = @xp.parse
154
+ assert_instance_of(XML::Document, doc)
155
+ assert_instance_of(XML::Parser::Context, @xp.parser_context)
156
+ end
157
+
158
+ def test_libxml_parser_file()
159
+ file = 'tests/model/rubynet.xml'
160
+ assert_equal(file, @xp.filename = file)
161
+ assert_instance_of(XML::Document, @xp.parse)
162
+ end
163
+
164
+ def test_libxml_parser_io()
165
+ File.open('tests/model/rubynet.xml') do |f|
166
+ assert_kind_of(IO, f)
167
+ assert_kind_of(IO, @xp.io = f)
168
+ assert_instance_of(XML::Document, @xp.parse)
169
+ end # File.open
170
+ end # def test_libxml_parser_io()
171
+
172
+ def test_libxml_parser_features()
173
+ assert_instance_of(Array, XML::Parser::features)
174
+ end
175
+ end # TC_XML_Parser