# $Id: tc_xml_parser.rb,v 1.2 2006/02/21 20:40:16 roscopeco Exp $ require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML) require 'test/unit' class TC_XML_Parser < Test::Unit::TestCase def setup() @xp = XML::Parser.new() assert_not_nil(@xp) end def teardown() @xp = nil end def test_libxml_parser_string() str = 'onetwo' assert_equal(str, @xp.string = str) assert_instance_of(XML::Document, @xp.parse) end def test_libxml_parser_bad_xml() # @xp.string = 'onetwo' # assert_not_nil(@xp.parse) end def test_ruby_xml_parser_check_lib_versions() assert(XML::Parser::check_lib_versions) end def test_ruby_xml_parser_debug_entities() XML::Parser::debug_entities = false assert(!XML::Parser::debug_entities) XML::Parser::debug_entities = true assert(XML::Parser::debug_entities) XML::Parser::debug_entities = false assert(!XML::Parser::debug_entities) end def test_ruby_xml_parser_default_compression() 0.upto(9) do |i| XML::Parser::default_compression = i assert_equal(i, XML::Parser::default_compression) end 9.downto(0) do |i| assert_equal(i, XML::Parser::default_compression = i) assert_equal(i, XML::Parser::default_compression) end 0.downto(-10) do |i| assert_equal(i, XML::Parser::default_compression = i) assert_equal(0, XML::Parser::default_compression) end 10.upto(20) do |i| assert_equal(i, XML::Parser::default_compression = i) assert_equal(9, XML::Parser::default_compression) end end def test_ruby_xml_parser_default_keep_blanks() XML::Parser::default_keep_blanks = false assert(!XML::Parser::default_keep_blanks) XML::Parser::default_keep_blanks = true assert(XML::Parser::default_keep_blanks) XML::Parser::default_keep_blanks = false assert(!XML::Parser::default_keep_blanks) end def test_ruby_xml_parser_default_line_numbers() XML::Parser::default_line_numbers = false assert(!XML::Parser::default_line_numbers) XML::Parser::default_line_numbers = true assert(XML::Parser::default_line_numbers) XML::Parser::default_line_numbers = false assert(!XML::Parser::default_line_numbers) end def test_ruby_xml_parser_default_substitute_entities() XML::Parser::default_substitute_entities = false assert(!XML::Parser::default_substitute_entities) XML::Parser::default_substitute_entities = true assert(XML::Parser::default_substitute_entities) XML::Parser::default_substitute_entities = false assert(!XML::Parser::default_substitute_entities) end def test_ruby_xml_parser_default_tree_indent_string() s = XML::Parser::default_tree_indent_string() assert_instance_of(String, s) assert_equal(' ', s) XML::Parser::default_tree_indent_string = 'uga' s = XML::Parser::default_tree_indent_string() assert_instance_of(String, s) assert_equal('uga', s) XML::Parser::default_tree_indent_string = ' ' s = XML::Parser::default_tree_indent_string() assert_instance_of(String, s) assert_equal(' ', s) end def test_ruby_xml_parser_default_validity_checking() XML::Parser::default_validity_checking = false assert(!XML::Parser::default_validity_checking) XML::Parser::default_validity_checking = true assert(XML::Parser::default_validity_checking) XML::Parser::default_validity_checking = false assert(!XML::Parser::default_validity_checking) end def test_ruby_xml_parser_default_warnings() XML::Parser::default_warnings = false assert(!XML::Parser::default_warnings) XML::Parser::default_warnings = true assert(XML::Parser::default_warnings) XML::Parser::default_warnings = false assert(!XML::Parser::default_warnings) end def test_ruby_xml_parser_intent_tree_output() assert(TrueClass, XML::Parser::indent_tree_output) XML::Parser::indent_tree_output = false assert(FalseClass, XML::Parser::indent_tree_output) XML::Parser::indent_tree_output = true assert(TrueClass, XML::Parser::indent_tree_output) end def test_ruby_xml_parser_version() assert_instance_of(String, XML::Parser::VERSION) end def test_ruby_xml_parser_vernum() assert_instance_of(Fixnum, XML::Parser::VERNUM) end def test_ruby_xml_parser_parser_context() @xp = XML::Parser.string('ugafoo') doc = @xp.parse assert_instance_of(XML::Document, doc) assert_instance_of(XML::Parser::Context, @xp.parser_context) end def test_libxml_parser_file() file = 'tests/model/rubynet.xml' assert_equal(file, @xp.filename = file) assert_instance_of(XML::Document, @xp.parse) end def test_libxml_parser_io() File.open('tests/model/rubynet.xml') do |f| assert_kind_of(IO, f) assert_kind_of(IO, @xp.io = f) assert_instance_of(XML::Document, @xp.parse) end # File.open end # def test_libxml_parser_io() def test_libxml_parser_features() assert_instance_of(Array, XML::Parser::features) end end # TC_XML_Parser