1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):

Remove needless nested parse exception information.
  [Bug #8844]  [ruby-dev:47672]
  Reported by Ippei Obayashi. Thanks!!!
* test/rexml/parser/test_tree.rb: Add a test for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kou 2013-09-03 13:57:18 +00:00
parent 1c6ff586a6
commit a0657cd5d7
3 changed files with 36 additions and 1 deletions

View file

@ -1,3 +1,11 @@
Tue Sep 3 22:54:46 2013 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):
Remove needless nested parse exception information.
[Bug #8844] [ruby-dev:47672]
Reported by Ippei Obayashi. Thanks!!!
* test/rexml/parser/test_tree.rb: Add a test for the above case.
Tue Sep 3 22:03:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> Tue Sep 3 22:03:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (rb_enc_str_new_cstr): new function to create a string from * string.c (rb_enc_str_new_cstr): new function to create a string from

View file

@ -89,7 +89,7 @@ module REXML
end end
rescue REXML::Validation::ValidationException rescue REXML::Validation::ValidationException
raise raise
rescue REXML::UndefinedNamespaceException rescue REXML::ParseException
raise raise
rescue rescue
raise ParseException.new( $!.message, @parser.source, @parser, $! ) raise ParseException.new( $!.message, @parser.source, @parser, $! )

View file

@ -0,0 +1,27 @@
require "test/unit"
require "rexml/document"
require "rexml/parsers/treeparser"
class TestTreeParser < Test::Unit::TestCase
class TestInvalid < self
def test_parse_exception
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: 17
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