mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/rexml] Message less confusing error to human (#16)
* Message less confusing error to human
* Problem: Following error message is not helpful, because you have to reason
that '' actually means it's in the top-level, and the 'div' (not '</div>') is
an end tag
require "rexml/parsers/lightparser"
REXML::Parsers::LightParser.new('</div>').parse
#=> Missing end tag for '' (got 'div')
* Solution: add a special case in error handling just to change the error message
require "rexml/parsers/lightparser"
REXML::Parsers::LightParser.new('</div>').parse
#=> Unexpected top-level end tag (got 'div')
* Refactor by removing unnecessary `md` check
* Thanks @a_matsuda to review this at asakusa.rb!
f6528d4477
This commit is contained in:
parent
33e4a59b4a
commit
f85caf40a6
2 changed files with 17 additions and 0 deletions
|
@ -8,6 +8,19 @@ module REXMLTests
|
|||
end
|
||||
|
||||
class TestInvalid < self
|
||||
def test_top_level_end_tag
|
||||
exception = assert_raise(REXML::ParseException) do
|
||||
parse("</a>")
|
||||
end
|
||||
assert_equal(<<-DETAIL.chomp, exception.to_s)
|
||||
Unexpected top-level end tag (got 'a')
|
||||
Line: 1
|
||||
Position: 4
|
||||
Last 80 unconsumed characters:
|
||||
|
||||
DETAIL
|
||||
end
|
||||
|
||||
def test_no_end_tag
|
||||
exception = assert_raise(REXML::ParseException) do
|
||||
parse("<a></")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue