diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2021-04-05 11:46:23 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2021-04-05 11:46:23 +0000 |
commit | b7f19dd8419aa10c8bc3dfb8181a2caafe0d81d9 (patch) | |
tree | 000c60d574ae5968adef7f592d0e44cda5bb74d7 | |
parent | 48706204503ee83a9925f2a482bcf37ddcc7fa48 (diff) |
Oops, forgotten to addruby_2_5
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | test/rexml/parse/test_element.rb | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/test/rexml/parse/test_element.rb b/test/rexml/parse/test_element.rb new file mode 100644 index 0000000000..e8dce4b997 --- /dev/null +++ b/test/rexml/parse/test_element.rb @@ -0,0 +1,77 @@ +require "test/unit" +require "rexml/document" + +module REXMLTests + class TestParseElement < Test::Unit::TestCase + def parse(xml) + REXML::Document.new(xml) + 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></") + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Missing end tag for 'a' +Line: 1 +Position: 5 +Last 80 unconsumed characters: +</ + DETAIL + end + + def test_empty_namespace_attribute_name + exception = assert_raise(REXML::ParseException) do + parse("<x :a=\"\"></x>") + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Invalid attribute name: <:a=""> +Line: 1 +Position: 13 +Last 80 unconsumed characters: + + DETAIL + end + + def test_garbage_less_than_before_root_element_at_line_start + exception = assert_raise(REXML::ParseException) do + parse("<\n<x/>") + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +malformed XML: missing tag start +Line: 2 +Position: 6 +Last 80 unconsumed characters: +< <x/> + DETAIL + end + + def test_garbage_less_than_slash_before_end_tag_at_line_start + exception = assert_raise(REXML::ParseException) do + parse("<x></\n</x>") + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Missing end tag for 'x' +Line: 2 +Position: 10 +Last 80 unconsumed characters: +</ </x> + DETAIL + end + end + end +end |