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.
- data/CHANGELOG +49 -0
- data/LICENSE +22 -0
- data/README +129 -0
- data/Rakefile +197 -0
- data/TODO +84 -0
- data/ext/xml/cbg.c +76 -0
- data/ext/xml/extconf.rb +95 -0
- data/ext/xml/libxml.c +86 -0
- data/ext/xml/libxml.h +79 -0
- data/ext/xml/ruby_xml_attr.c +372 -0
- data/ext/xml/ruby_xml_attr.h +21 -0
- data/ext/xml/ruby_xml_attribute.c +224 -0
- data/ext/xml/ruby_xml_attribute.h +21 -0
- data/ext/xml/ruby_xml_document.c +1159 -0
- data/ext/xml/ruby_xml_document.h +27 -0
- data/ext/xml/ruby_xml_dtd.c +168 -0
- data/ext/xml/ruby_xml_dtd.h +17 -0
- data/ext/xml/ruby_xml_input_cbg.c +167 -0
- data/ext/xml/ruby_xml_input_cbg.h +21 -0
- data/ext/xml/ruby_xml_node.c +2052 -0
- data/ext/xml/ruby_xml_node.h +28 -0
- data/ext/xml/ruby_xml_node_set.c +197 -0
- data/ext/xml/ruby_xml_node_set.h +26 -0
- data/ext/xml/ruby_xml_ns.c +153 -0
- data/ext/xml/ruby_xml_ns.h +21 -0
- data/ext/xml/ruby_xml_parser.c +1363 -0
- data/ext/xml/ruby_xml_parser.h +31 -0
- data/ext/xml/ruby_xml_parser_context.c +715 -0
- data/ext/xml/ruby_xml_parser_context.h +22 -0
- data/ext/xml/ruby_xml_sax_parser.c +181 -0
- data/ext/xml/ruby_xml_sax_parser.h +21 -0
- data/ext/xml/ruby_xml_schema.c +142 -0
- data/ext/xml/ruby_xml_schema.h +16 -0
- data/ext/xml/ruby_xml_tree.c +43 -0
- data/ext/xml/ruby_xml_tree.h +12 -0
- data/ext/xml/ruby_xml_xinclude.c +20 -0
- data/ext/xml/ruby_xml_xinclude.h +13 -0
- data/ext/xml/ruby_xml_xpath.c +357 -0
- data/ext/xml/ruby_xml_xpath.h +24 -0
- data/ext/xml/ruby_xml_xpath_context.c +124 -0
- data/ext/xml/ruby_xml_xpath_context.h +24 -0
- data/ext/xml/ruby_xml_xpointer.c +100 -0
- data/ext/xml/ruby_xml_xpointer.h +27 -0
- data/ext/xml/ruby_xml_xpointer_context.c +22 -0
- data/ext/xml/ruby_xml_xpointer_context.h +18 -0
- data/tests/copy_bug.rb +21 -0
- data/tests/dtd-test.rb +24 -0
- data/tests/model/default_validation_bug.rb +0 -0
- data/tests/model/rubynet.xml +78 -0
- data/tests/model/rubynet_project +13 -0
- data/tests/model/xinclude.xml +5 -0
- data/tests/runner.rb +13 -0
- data/tests/schema-test.rb +74 -0
- data/tests/tc_default_validation.rb +0 -0
- data/tests/tc_xml_document.rb +51 -0
- data/tests/tc_xml_document_write.rb +25 -0
- data/tests/tc_xml_document_write2.rb +55 -0
- data/tests/tc_xml_document_write3.rb +97 -0
- data/tests/tc_xml_node.rb +59 -0
- data/tests/tc_xml_node2.rb +26 -0
- data/tests/tc_xml_node_set.rb +25 -0
- data/tests/tc_xml_node_xlink.rb +28 -0
- data/tests/tc_xml_parser.rb +175 -0
- data/tests/tc_xml_parser2.rb +17 -0
- data/tests/tc_xml_parser3.rb +23 -0
- data/tests/tc_xml_parser4.rb +33 -0
- data/tests/tc_xml_parser5.rb +27 -0
- data/tests/tc_xml_parser6.rb +23 -0
- data/tests/tc_xml_parser7.rb +28 -0
- data/tests/tc_xml_parser_context.rb +89 -0
- data/tests/tc_xml_xinclude.rb +30 -0
- data/tests/tc_xml_xpath.rb +23 -0
- data/tests/tc_xml_xpointer.rb +78 -0
- 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
|