libxml-ruby 0.6.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 (127) hide show
  1. data/CHANGES +122 -0
  2. data/LICENSE +23 -0
  3. data/README +144 -0
  4. data/ext/libxml/cbg.c +76 -0
  5. data/ext/libxml/extconf.rb +308 -0
  6. data/ext/libxml/libxml.c +62 -0
  7. data/ext/libxml/ruby_libxml.h +93 -0
  8. data/ext/libxml/ruby_xml_attr.c +405 -0
  9. data/ext/libxml/ruby_xml_attr.h +19 -0
  10. data/ext/libxml/ruby_xml_document.c +1111 -0
  11. data/ext/libxml/ruby_xml_document.h +27 -0
  12. data/ext/libxml/ruby_xml_dtd.c +168 -0
  13. data/ext/libxml/ruby_xml_dtd.h +17 -0
  14. data/ext/libxml/ruby_xml_html_parser.c +449 -0
  15. data/ext/libxml/ruby_xml_html_parser.h +29 -0
  16. data/ext/libxml/ruby_xml_input_cbg.c +158 -0
  17. data/ext/libxml/ruby_xml_input_cbg.h +20 -0
  18. data/ext/libxml/ruby_xml_node.c +2410 -0
  19. data/ext/libxml/ruby_xml_node.h +27 -0
  20. data/ext/libxml/ruby_xml_node_set.c +170 -0
  21. data/ext/libxml/ruby_xml_node_set.h +20 -0
  22. data/ext/libxml/ruby_xml_ns.c +153 -0
  23. data/ext/libxml/ruby_xml_ns.h +21 -0
  24. data/ext/libxml/ruby_xml_parser.c +1425 -0
  25. data/ext/libxml/ruby_xml_parser.h +31 -0
  26. data/ext/libxml/ruby_xml_parser_context.c +750 -0
  27. data/ext/libxml/ruby_xml_parser_context.h +22 -0
  28. data/ext/libxml/ruby_xml_reader.c +900 -0
  29. data/ext/libxml/ruby_xml_reader.h +14 -0
  30. data/ext/libxml/ruby_xml_sax_parser.c +485 -0
  31. data/ext/libxml/ruby_xml_sax_parser.h +56 -0
  32. data/ext/libxml/ruby_xml_schema.c +146 -0
  33. data/ext/libxml/ruby_xml_schema.h +16 -0
  34. data/ext/libxml/ruby_xml_state.c +113 -0
  35. data/ext/libxml/ruby_xml_state.h +12 -0
  36. data/ext/libxml/ruby_xml_tree.c +43 -0
  37. data/ext/libxml/ruby_xml_tree.h +12 -0
  38. data/ext/libxml/ruby_xml_xinclude.c +20 -0
  39. data/ext/libxml/ruby_xml_xinclude.h +13 -0
  40. data/ext/libxml/ruby_xml_xpath.c +243 -0
  41. data/ext/libxml/ruby_xml_xpath.h +23 -0
  42. data/ext/libxml/ruby_xml_xpath_context.c +118 -0
  43. data/ext/libxml/ruby_xml_xpath_context.h +20 -0
  44. data/ext/libxml/ruby_xml_xpath_object.c +293 -0
  45. data/ext/libxml/ruby_xml_xpath_object.h +28 -0
  46. data/ext/libxml/ruby_xml_xpointer.c +100 -0
  47. data/ext/libxml/ruby_xml_xpointer.h +27 -0
  48. data/ext/libxml/ruby_xml_xpointer_context.c +21 -0
  49. data/ext/libxml/ruby_xml_xpointer_context.h +18 -0
  50. data/ext/libxml/sax_parser_callbacks.inc +213 -0
  51. data/ext/libxml/version.h +9 -0
  52. data/lib/libxml.rb +125 -0
  53. data/lib/libxml_ruby.so +0 -0
  54. data/lib/xml/libxml.rb +5 -0
  55. data/mingw/libiconv-2.dll +0 -0
  56. data/mingw/libxml2-2.dll +0 -0
  57. data/mingw/libxml_ruby.so +0 -0
  58. data/mingw/mingw.rake +36 -0
  59. data/test/dtd-test.rb +24 -0
  60. data/test/etc_doc_to_s.rb +19 -0
  61. data/test/ets_copy_bug.rb +21 -0
  62. data/test/ets_copy_bug2.rb +32 -0
  63. data/test/ets_copy_bug3.rb +38 -0
  64. data/test/ets_doc_file.rb +15 -0
  65. data/test/ets_doc_to_s.rb +21 -0
  66. data/test/ets_gpx.rb +26 -0
  67. data/test/ets_node_gc.rb +21 -0
  68. data/test/ets_test.xml +2 -0
  69. data/test/ets_tsr.rb +9 -0
  70. data/test/gc.log +0 -0
  71. data/test/merge_bug.rb +55 -0
  72. data/test/schema-test.rb +74 -0
  73. data/test/tc_well_formed.rb +11 -0
  74. data/test/tc_xml_document.rb +52 -0
  75. data/test/tc_xml_document_write.rb +24 -0
  76. data/test/tc_xml_document_write2.rb +54 -0
  77. data/test/tc_xml_document_write3.rb +96 -0
  78. data/test/tc_xml_html_parser.rb +63 -0
  79. data/test/tc_xml_node.rb +59 -0
  80. data/test/tc_xml_node2.rb +25 -0
  81. data/test/tc_xml_node3.rb +27 -0
  82. data/test/tc_xml_node4.rb +86 -0
  83. data/test/tc_xml_node5.rb +52 -0
  84. data/test/tc_xml_node6.rb +27 -0
  85. data/test/tc_xml_node7.rb +35 -0
  86. data/test/tc_xml_node8.rb +32 -0
  87. data/test/tc_xml_node9.rb +32 -0
  88. data/test/tc_xml_node_copy.rb +40 -0
  89. data/test/tc_xml_node_set.rb +24 -0
  90. data/test/tc_xml_node_set2.rb +37 -0
  91. data/test/tc_xml_node_text.rb +17 -0
  92. data/test/tc_xml_node_xlink.rb +28 -0
  93. data/test/tc_xml_parser.rb +190 -0
  94. data/test/tc_xml_parser2.rb +16 -0
  95. data/test/tc_xml_parser3.rb +23 -0
  96. data/test/tc_xml_parser4.rb +33 -0
  97. data/test/tc_xml_parser5.rb +27 -0
  98. data/test/tc_xml_parser6.rb +23 -0
  99. data/test/tc_xml_parser7.rb +28 -0
  100. data/test/tc_xml_parser8.rb +32 -0
  101. data/test/tc_xml_parser9.rb +11 -0
  102. data/test/tc_xml_parser_context.rb +88 -0
  103. data/test/tc_xml_reader.rb +112 -0
  104. data/test/tc_xml_sax_parser.rb +104 -0
  105. data/test/tc_xml_sax_parser2.rb +51 -0
  106. data/test/tc_xml_xinclude.rb +30 -0
  107. data/test/tc_xml_xpath.rb +38 -0
  108. data/test/tc_xml_xpath2.rb +14 -0
  109. data/test/tc_xml_xpointer.rb +78 -0
  110. data/vc/libxml.sln +20 -0
  111. data/vc/libxml.vcproj +389 -0
  112. data/work/Rakefile +247 -0
  113. data/work/task/make +26 -0
  114. data/work/task/memory +37 -0
  115. data/work/task/rdoc +39 -0
  116. data/work/task/setup +1616 -0
  117. data/work/task/test +29 -0
  118. data/work/test/ets_runner.rb +33 -0
  119. data/work/test/libxml_test.rb +3 -0
  120. data/work/test/runner.rb +0 -0
  121. data/work/test/runner_ets.rb +33 -0
  122. data/work/vc/debug/libxml.exp +0 -0
  123. data/work/vc/debug/libxml.ilk +0 -0
  124. data/work/vc/debug/libxml.lib +0 -0
  125. data/work/vc/debug/libxml.pdb +0 -0
  126. data/work/vc/debug/libxml.so +0 -0
  127. metadata +224 -0
@@ -0,0 +1,52 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node5 < Test::Unit::TestCase
5
+ def setup()
6
+ xp = XML::Parser.new()
7
+ str = '<test><num>one</num><num>two</num><num>three</num></test>'
8
+ assert_equal(str, xp.string = str)
9
+ @doc = xp.parse
10
+ assert_instance_of(XML::Document, @doc)
11
+ @root = @doc.root
12
+ @num1 = @root.child
13
+ @num2 = @num1.next
14
+ @num3 = @num2.next
15
+ end
16
+
17
+ def test_libxml_node_add_next_01
18
+ @num1.next = XML::Node.new('num', 'one-and-a-half')
19
+ assert_equal '<test><num>one</num><num>one-and-a-half</num><num>two</num><num>three</num></test>',
20
+ @root.to_s.gsub(/\n\s*/,'')
21
+ end
22
+
23
+ def test_libxml_node_add_next_02
24
+ @num2.next = XML::Node.new('num', 'two-and-a-half')
25
+ assert_equal '<test><num>one</num><num>two</num><num>two-and-a-half</num><num>three</num></test>',
26
+ @root.to_s.gsub(/\n\s*/,'')
27
+ end
28
+
29
+ def test_libxml_node_add_next_03
30
+ @num3.next = XML::Node.new('num', 'four')
31
+ assert_equal '<test><num>one</num><num>two</num><num>three</num><num>four</num></test>',
32
+ @root.to_s.gsub(/\n\s*/,'')
33
+ end
34
+
35
+ def test_libxml_node_add_prev_01
36
+ @num1.prev = XML::Node.new('num', 'half')
37
+ assert_equal '<test><num>half</num><num>one</num><num>two</num><num>three</num></test>',
38
+ @root.to_s.gsub(/\n\s*/,'')
39
+ end
40
+
41
+ def test_libxml_node_add_prev_02
42
+ @num2.prev = XML::Node.new('num', 'one-and-a-half')
43
+ assert_equal '<test><num>one</num><num>one-and-a-half</num><num>two</num><num>three</num></test>',
44
+ @root.to_s.gsub(/\n\s*/,'')
45
+ end
46
+
47
+ def test_libxml_node_add_prev_03
48
+ @num3.prev = XML::Node.new('num', 'two-and-a-half')
49
+ assert_equal '<test><num>one</num><num>two</num><num>two-and-a-half</num><num>three</num></test>',
50
+ @root.to_s.gsub(/\n\s*/,'')
51
+ end
52
+ end
@@ -0,0 +1,27 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node6 < Test::Unit::TestCase
5
+ def setup()
6
+ xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
7
+ doc = xp.parse
8
+ @root = doc.root
9
+ assert_equal 'bar', @root['foo']
10
+ end
11
+
12
+ def teardown()
13
+ @root = nil
14
+ end
15
+
16
+ def test_xml_node_prop_get_str_sym()
17
+ assert_equal @root['foo'], @root[:foo]
18
+ assert_equal @root['uga'], @root[:uga]
19
+ end
20
+
21
+ def test_xml_node_prop_set_str_sym()
22
+ @root[:foo] = 'boo'
23
+ @root[:uga] = 'zoo'
24
+ assert_equal 'boo', @root['foo']
25
+ assert_equal 'zoo', @root['uga']
26
+ end
27
+ end
@@ -0,0 +1,35 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node7 < Test::Unit::TestCase
5
+ def setup()
6
+ xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
7
+ doc = xp.parse
8
+ @root = doc.root
9
+ assert_equal 'bar', @root['foo']
10
+ end
11
+
12
+ def teardown()
13
+ @root = nil
14
+ end
15
+
16
+ def test_xml_node_properties_traversal_bug()
17
+ prop = @root.properties
18
+ assert_instance_of XML::Attr, prop
19
+ assert_equal 'uga', prop.name
20
+ assert_equal 'booga', prop.value
21
+
22
+ prop = prop.next
23
+ assert_instance_of XML::Attr, prop
24
+ assert_equal 'foo', prop.name
25
+ assert_equal 'bar', prop.value
26
+ end
27
+
28
+ def test_xml_node_properties_when_no_attributes
29
+ xp = XML::Parser.string("<root></root>")
30
+ doc = xp.parse
31
+ root = doc.root
32
+
33
+ assert_nil root.properties
34
+ end
35
+ end
@@ -0,0 +1,32 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node8 < Test::Unit::TestCase
5
+ def setup()
6
+ xp = XML::Parser.new()
7
+ str = '<root></root>'
8
+ assert_equal(str, xp.string = str)
9
+ @doc = xp.parse
10
+ assert_instance_of(XML::Document, @doc)
11
+ @root = @doc.root
12
+ end
13
+
14
+ def test_libxml_node_add_cdata_01
15
+ @root << XML::Node.new_cdata('mycdata')
16
+ assert_equal '<root><![CDATA[mycdata]]></root>',
17
+ @root.to_s.gsub(/\n\s*/,'')
18
+ end
19
+
20
+ def test_libxml_node_add_cdata_02
21
+ @root << XML::Node.new_cdata('mycdata')
22
+ assert_equal 'cdata',
23
+ @root.child.node_type_name
24
+ end
25
+
26
+ def test_libxml_node_add_cdata_03
27
+ @root << el = XML::Node.new_cdata('mycdata')
28
+ el << "_this_is_added"
29
+ assert_equal '<root><![CDATA[mycdata_this_is_added]]></root>',
30
+ @root.to_s.gsub(/\n\s*/,'')
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node9 < Test::Unit::TestCase
5
+ def setup()
6
+ xp = XML::Parser.new()
7
+ str = '<root></root>'
8
+ assert_equal(str, xp.string = str)
9
+ @doc = xp.parse
10
+ assert_instance_of(XML::Document, @doc)
11
+ @root = @doc.root
12
+ end
13
+
14
+ def test_libxml_node_add_comment_01
15
+ @root << XML::Node.new_comment('mycomment')
16
+ assert_equal '<root><!--mycomment--></root>',
17
+ @root.to_s.gsub(/\n\s*/,'')
18
+ end
19
+
20
+ def test_libxml_node_add_comment_02
21
+ @root << XML::Node.new_comment('mycomment')
22
+ assert_equal 'comment',
23
+ @root.child.node_type_name
24
+ end
25
+
26
+ def test_libxml_node_add_comment_03
27
+ @root << el = XML::Node.new_comment('mycomment')
28
+ el << "_this_is_added"
29
+ assert_equal '<root><!--mycomment_this_is_added--></root>',
30
+ @root.to_s.gsub(/\n\s*/,'')
31
+ end
32
+ end
@@ -0,0 +1,40 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ # see mailing list archive
5
+ # [libxml-devel] Segmentation fault when add the cloned/copied node
6
+ # 2007/11/27 20:51
7
+
8
+ class TC_XML_Node_Copy < Test::Unit::TestCase
9
+ def setup
10
+ str = <<-STR
11
+ <html><body>
12
+ <div class="textarea" id="t1" style="STATIC">foo</div>
13
+ <div class="textarea" id="t2" style="STATIC">bar</div>
14
+ </body></html>
15
+ STR
16
+
17
+ doc = XML::Parser.string(str).parse
18
+
19
+ xpath = "//div"
20
+ @div1 = doc.find(xpath).to_a[0]
21
+ @div2 = doc.find(xpath).to_a[1]
22
+ end
23
+
24
+ def test_libxml_node_copy_not_segv
25
+ @div2.each do |child|
26
+ c = child.copy(false)
27
+ @div1.child_add(c)
28
+ end
29
+ assert @div1.to_s =~ /foo/
30
+ end
31
+
32
+ def test_libxml_node_clone_not_segv
33
+ @div2.each do |child|
34
+ c = child.clone
35
+ @div1.child_add(c)
36
+ end
37
+ assert @div1.to_s =~ /foo/
38
+ end
39
+
40
+ end # TC_XML_Node_Copy
@@ -0,0 +1,24 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node_Set < Test::Unit::TestCase
5
+ def setup()
6
+ xp = XML::Parser.new()
7
+ str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
8
+ assert_equal(str, xp.string = str)
9
+ doc = xp.parse
10
+ assert_instance_of(XML::Document, doc)
11
+ @set = doc.find('/ruby_array/fixnum').set
12
+ assert_instance_of(XML::Node::Set, @set)
13
+ end
14
+
15
+ def teardown()
16
+ @set = nil
17
+ end
18
+
19
+ def test_libxml_nodeset_each()
20
+ @set.each do |n|
21
+ assert_instance_of(XML::Node, n)
22
+ end
23
+ end
24
+ end # TC_XML_Document
@@ -0,0 +1,37 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node_Set2 < Test::Unit::TestCase
5
+ def setup()
6
+ xp = XML::Parser.new()
7
+ str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
8
+ assert_equal(str, xp.string = str)
9
+ doc = xp.parse
10
+ assert_instance_of(XML::Document, doc)
11
+ @one = doc.root.child
12
+ @two = @one.next
13
+ @set = doc.find('/ruby_array/fixnum').set
14
+ @emptyset = doc.find('/fixnum').set
15
+ assert_instance_of(XML::Node::Set, @set)
16
+ end
17
+
18
+ def teardown()
19
+ @set, @emptyset, @one, @two = [nil] * 4
20
+ end
21
+
22
+ def test_libxml_nodeset_to_a()
23
+ assert_equal [@one, @two], @set.to_a
24
+ assert_equal [], @emptyset.to_a
25
+ end
26
+
27
+ def test_libxml_nodeset_empty?()
28
+ assert ! @set.empty?
29
+ assert @emptyset.empty?
30
+ end
31
+
32
+ def test_libxml_nodeset_first()
33
+ assert_equal @one.to_s, @set.first.to_s
34
+ assert_equal nil, @emptyset.first
35
+ end
36
+
37
+ end # TC_XML_Document
@@ -0,0 +1,17 @@
1
+ require 'libxml'
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Node_text < Test::Unit::TestCase
5
+ def setup
6
+ @t=XML::Node.new_text("testdata")
7
+ assert_instance_of(XML::Node,@t)
8
+ end
9
+
10
+ def test_content
11
+ assert_equal("testdata",@t.content)
12
+ end
13
+
14
+ def test_type
15
+ assert_equal(true,@t.text?)
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ # $Id: tc_xml_node_xlink.rb 251 2008-01-22 18:12:00Z transami $
2
+ require "libxml"
3
+ require 'test/unit'
4
+
5
+ class TC_XML_Node_XLink < 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,190 @@
1
+ require "libxml"
2
+ require 'test/unit'
3
+
4
+ class TC_XML_Parser < Test::Unit::TestCase
5
+ def setup()
6
+ @xp = XML::Parser.new()
7
+ assert_not_nil(@xp)
8
+ end
9
+
10
+ def teardown()
11
+ @xp = nil
12
+ end
13
+
14
+ def test_libxml_parser_string()
15
+ str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
16
+ assert_equal(str, @xp.string = str)
17
+ assert_instance_of(XML::Document, @xp.parse)
18
+ end
19
+
20
+ def test_libxml_parser_bad_xml()
21
+ @xp.string = '<ruby_array uga="booga" foo="bar"<fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
22
+ assert_raise(XML::Parser::ParseError) do
23
+ assert_not_nil(@xp.parse)
24
+ end
25
+ end
26
+
27
+ def test_libxml_parser_empty_string
28
+ assert_raise(XML::Parser::ParseError) do
29
+ @xp.string = ''
30
+ end
31
+
32
+ assert_raise(TypeError) do
33
+ @xp.string = nil
34
+ end
35
+ end
36
+
37
+ def test_ruby_xml_parser_check_lib_versions()
38
+ assert(XML::Parser::check_lib_versions)
39
+ end
40
+
41
+ def test_ruby_xml_parser_debug_entities()
42
+ XML::Parser::debug_entities = false
43
+ assert(!XML::Parser::debug_entities)
44
+
45
+ XML::Parser::debug_entities = true
46
+ assert(XML::Parser::debug_entities)
47
+
48
+ XML::Parser::debug_entities = false
49
+ assert(!XML::Parser::debug_entities)
50
+ end
51
+
52
+ def test_ruby_xml_parser_default_compression()
53
+ 0.upto(9) do |i|
54
+ XML::Parser::default_compression = i
55
+ assert_equal(i, XML::Parser::default_compression)
56
+ end
57
+
58
+ 9.downto(0) do |i|
59
+ assert_equal(i, XML::Parser::default_compression = i)
60
+ assert_equal(i, XML::Parser::default_compression)
61
+ end
62
+
63
+ 0.downto(-10) do |i|
64
+ assert_equal(i, XML::Parser::default_compression = i)
65
+ assert_equal(0, XML::Parser::default_compression)
66
+ end
67
+
68
+ 10.upto(20) do |i|
69
+ assert_equal(i, XML::Parser::default_compression = i)
70
+ assert_equal(9, XML::Parser::default_compression)
71
+ end
72
+ end
73
+
74
+ def test_ruby_xml_parser_default_keep_blanks()
75
+ XML::Parser::default_keep_blanks = false
76
+ assert(!XML::Parser::default_keep_blanks)
77
+
78
+ XML::Parser::default_keep_blanks = true
79
+ assert(XML::Parser::default_keep_blanks)
80
+
81
+ XML::Parser::default_keep_blanks = false
82
+ assert(!XML::Parser::default_keep_blanks)
83
+
84
+ # other tests depend on keeping blanks by default,
85
+ # which is the default default behaviour anyway.
86
+ XML::Parser::default_keep_blanks = true
87
+ end
88
+
89
+ def test_ruby_xml_parser_default_line_numbers()
90
+ XML::Parser::default_line_numbers = false
91
+ assert(!XML::Parser::default_line_numbers)
92
+
93
+ XML::Parser::default_line_numbers = true
94
+ assert(XML::Parser::default_line_numbers)
95
+
96
+ XML::Parser::default_line_numbers = false
97
+ assert(!XML::Parser::default_line_numbers)
98
+ end
99
+
100
+ def test_ruby_xml_parser_default_substitute_entities()
101
+ XML::Parser::default_substitute_entities = false
102
+ assert(!XML::Parser::default_substitute_entities)
103
+
104
+ XML::Parser::default_substitute_entities = true
105
+ assert(XML::Parser::default_substitute_entities)
106
+
107
+ XML::Parser::default_substitute_entities = false
108
+ assert(!XML::Parser::default_substitute_entities)
109
+ end
110
+
111
+ def test_ruby_xml_parser_default_tree_indent_string()
112
+ s = XML::Parser::default_tree_indent_string()
113
+ assert_instance_of(String, s)
114
+ assert_equal(' ', s)
115
+ XML::Parser::default_tree_indent_string = 'uga'
116
+ s = XML::Parser::default_tree_indent_string()
117
+ assert_instance_of(String, s)
118
+ assert_equal('uga', s)
119
+ XML::Parser::default_tree_indent_string = ' '
120
+ s = XML::Parser::default_tree_indent_string()
121
+ assert_instance_of(String, s)
122
+ assert_equal(' ', s)
123
+ end
124
+
125
+ def test_ruby_xml_parser_default_validity_checking()
126
+ XML::Parser::default_validity_checking = false
127
+ assert(!XML::Parser::default_validity_checking)
128
+
129
+ XML::Parser::default_validity_checking = true
130
+ assert(XML::Parser::default_validity_checking)
131
+
132
+ XML::Parser::default_validity_checking = false
133
+ assert(!XML::Parser::default_validity_checking)
134
+ end
135
+
136
+ def test_ruby_xml_parser_default_warnings()
137
+ XML::Parser::default_warnings = false
138
+ assert(!XML::Parser::default_warnings)
139
+
140
+ XML::Parser::default_warnings = true
141
+ assert(XML::Parser::default_warnings)
142
+
143
+ XML::Parser::default_warnings = false
144
+ assert(!XML::Parser::default_warnings)
145
+ end
146
+
147
+ def test_ruby_xml_parser_intent_tree_output()
148
+ assert(TrueClass, XML::Parser::indent_tree_output)
149
+
150
+ XML::Parser::indent_tree_output = false
151
+ assert(FalseClass, XML::Parser::indent_tree_output)
152
+
153
+ XML::Parser::indent_tree_output = true
154
+ assert(TrueClass, XML::Parser::indent_tree_output)
155
+ end
156
+
157
+ def test_ruby_xml_parser_version()
158
+ assert_instance_of(String, XML::Parser::VERSION)
159
+ end
160
+
161
+ def test_ruby_xml_parser_vernum()
162
+ assert_instance_of(Fixnum, XML::Parser::VERNUM)
163
+ end
164
+
165
+ def test_ruby_xml_parser_context()
166
+ @xp = XML::Parser.string('<rubynet><testing>uga</testing><uga>foo</uga></rubynet>')
167
+ doc = @xp.parse
168
+ assert_instance_of(XML::Document, doc)
169
+ assert_instance_of(XML::Parser::Context, @xp.context)
170
+ end
171
+
172
+ def test_libxml_parser_file()
173
+ file = File.expand_path('model/rubynet.xml')
174
+
175
+ assert_equal(file, @xp.filename = file)
176
+ assert_instance_of(XML::Document, @xp.parse)
177
+ end
178
+
179
+ def test_libxml_parser_io()
180
+ File.open('model/rubynet.xml') do |f|
181
+ assert_kind_of(IO, f)
182
+ assert_kind_of(IO, @xp.io = f)
183
+ assert_instance_of(XML::Document, @xp.parse)
184
+ end # File.open
185
+ end # def test_libxml_parser_io()
186
+
187
+ def test_libxml_parser_features()
188
+ assert_instance_of(Array, XML::Parser::features)
189
+ end
190
+ end # TC_XML_Parser