1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
# $Id: tc_xml_document_write3.rb 107 2006-11-20 01:22:08Z roscopeco $
require "libxml_test"
require 'test/unit'
class TC_XML_Document_Write3 < Test::Unit::TestCase
def setup()
@doc = XML::Document.new('1.0')
assert_instance_of(XML::Document, @doc)
@doc.root = XML::Node.new('rubynet')
end
def teardown()
@doc = nil
end
def test_ruby_xml_document_write_child()
xml = "<?xml version=\"1.0\"?>\n<rubynet>\n <pkg/>\n</rubynet>\n"
@doc.root.child = XML::Node.new('pkg')
assert_equal(xml, @doc.to_s)
end
def test_ruby_xml_document_write_content_append()
xml = "<?xml version=\"1.0\"?>\n"
xml << "<rubynet>\n"
xml << " <pkg>\n"
xml << " <meta>\n"
xml << " <pkgname>libxml</pkgname>\n"
xml << " </meta>\n"
xml << " </pkg>\n"
xml << "</rubynet>\n"
pkg = @doc.root.child = XML::Node.new('pkg')
meta = pkg.child = XML::Node.new('meta')
assert_equal meta, meta << (pkgname = XML::Node.new('pkgname'))
pkgname << 'libxml'
assert_equal(xml, @doc.to_s)
end
def test_ruby_xml_document_write_node_search_href()
prefix = 'xlink'
uri = 'http://www.rubynet.org'
xml = "<?xml version=\"1.0\"?>\n"
xml << "<rubynet xmlns:#{prefix}=\"#{uri}\">\n"
xml << " <pkg/>\n"
xml << "</rubynet>\n"
@doc = XML::Parser.string(xml).parse
assert_equal(xml, @doc.to_s)
ns = @doc.root.search_href(uri)
assert_instance_of(XML::NS, ns)
assert_equal(uri, ns.href)
assert_equal(prefix, ns.prefix)
end
def test_ruby_xml_document_write_sibling()
xml = "<?xml version=\"1.0\"?>\n<rubynet>\n <pkg/>\n <pkg2/>\n</rubynet>\n"
child = @doc.root.child = XML::Node.new('pkg')
assert_instance_of(XML::Node, child)
child.sibling = XML::Node.new('pkg2')
assert_equal(xml, @doc.to_s)
end
def test_ruby_xml_document_write_set_doc_property()
xml = "<?xml version=\"1.0\"?>\n"
xml << "<rubynet xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n"
xml << " <pkg/>\n"
xml << "</rubynet>\n"
@doc['xmlns:xlink'] = "http://www.w3.org/1999/xlink"
pkg = @doc.root.child = XML::Node.new('pkg')
assert_equal(xml, @doc.to_s)
end
def test_ruby_xml_document_write_set_node_base()
xml = "<?xml version=\"1.0\"?>\n"
xml << "<rubynet>\n"
xml << " <pkg xml:base=\"http://www.rubynet.org/\"/>\n"
xml << "</rubynet>\n"
pkg = @doc.root.child = XML::Node.new('pkg')
pkg.base = 'http://www.rubynet.org/'
assert_equal(xml, @doc.to_s)
end
def test_ruby_xml_document_write_set_node_property()
xml = "<?xml version=\"1.0\"?>\n"
xml << "<rubynet xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n"
xml << " <pkg version=\"1.0\">\n"
xml << " <meta>\n"
xml << " <pkgname>libxml</pkgname>\n"
xml << " </meta>\n"
xml << " </pkg>\n"
xml << "</rubynet>\n"
@doc.root['xmlns:xlink'] = "http://www.w3.org/1999/xlink"
pkg = @doc.root.child = XML::Node.new('pkg')
pkg['version'] = '1.0'
meta = pkg.child = XML::Node.new('meta')
pkgname = meta.child = XML::Node.new('pkgname', 'libxml')
assert_equal(xml, @doc.to_s)
end
end
|