ruby-changes:65785
From: usa <ko1@a...>
Date: Mon, 5 Apr 2021 20:46:33 +0900 (JST)
Subject: [ruby-changes:65785] b7f19dd841 (ruby_2_5): Oops, forgotten to add
https://git.ruby-lang.org/ruby.git/commit/?id=b7f19dd841 From b7f19dd8419aa10c8bc3dfb8181a2caafe0d81d9 Mon Sep 17 00:00:00 2001 From: usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon, 5 Apr 2021 11:46:23 +0000 Subject: Oops, forgotten to add git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rexml/parse/test_element.rb | 77 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 test/rexml/parse/test_element.rb diff --git a/test/rexml/parse/test_element.rb b/test/rexml/parse/test_element.rb new file mode 100644 index 0000000..e8dce4b --- /dev/null +++ b/test/rexml/parse/test_element.rb @@ -0,0 +1,77 @@ https://github.com/ruby/ruby/blob/trunk/test/rexml/parse/test_element.rb#L1 +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 -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/