1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/rexml/parser/test_tree.rb
kou 28e78bf7f2 * test/rexml/: Use REXMLTests as wrapping module for REXML tests.
I avoid using the same module for library in test because
  it provides "include REXML" environment in test. Normally,
  users don't use REXML on "include REXML" environment. So I
  don't want to write tests on "include REXML" environment.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-27 12:07:40 +00:00

42 lines
961 B
Ruby

require "test/unit"
require "rexml/document"
require "rexml/parsers/treeparser"
module REXMLTests
class TestTreeParser < Test::Unit::TestCase
class TestInvalid < self
def test_unmatched_close_tag
xml = "<root></not-root>"
exception = assert_raise(REXML::ParseException) do
parse(xml)
end
assert_equal(<<-MESSAGE, exception.to_s)
Missing end tag for 'root' (got "not-root")
Line: 1
Position: #{xml.bytesize}
Last 80 unconsumed characters:
MESSAGE
end
def test_no_close_tag
xml = "<root>"
exception = assert_raise(REXML::ParseException) do
parse(xml)
end
assert_equal(<<-MESSAGE, exception.to_s)
No close tag for /root
Line: 1
Position: #{xml.bytesize}
Last 80 unconsumed characters:
MESSAGE
end
private
def parse(xml)
document = REXML::Document.new
parser = REXML::Parsers::TreeParser.new(xml, document)
parser.parse
end
end
end
end