libxml-ruby 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
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