diff --git a/test/parse/test_entity_declaration.rb b/test/parse/test_entity_declaration.rb index 9f82eb7e..0df7add7 100644 --- a/test/parse/test_entity_declaration.rb +++ b/test/parse/test_entity_declaration.rb @@ -141,6 +141,32 @@ def test_mixed_quote_in_public valid-name PUBLIC \"valid-pubid-literal\" \"invalid-system-literal'>]> DETAIL end + + def test_no_literal_in_system + exception = assert_raise(REXML::ParseException) do + REXML::Document.new(']>') + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Malformed entity declaration +Line: 1 +Position: 45 +Last 80 unconsumed characters: + valid-name SYSTEM>]> + DETAIL + end + + def test_no_literal_in_public + exception = assert_raise(REXML::ParseException) do + REXML::Document.new(']>') + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Malformed entity declaration +Line: 1 +Position: 67 +Last 80 unconsumed characters: + valid-name PUBLIC \"valid-pubid-literal\">]> + DETAIL + end end # https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-PubidLiteral @@ -185,6 +211,19 @@ def test_mixed_quote valid-name PUBLIC \"invalid-pubid-literal' \"valid-system-literal\">]> DETAIL end + + def test_no_literal + exception = assert_raise(REXML::ParseException) do + REXML::Document.new(']>') + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Malformed entity declaration +Line: 1 +Position: 45 +Last 80 unconsumed characters: + valid-name PUBLIC>]> + DETAIL + end end end @@ -350,6 +389,32 @@ def test_mixed_quote_in_public % valid-name PUBLIC \"valid-pubid-literal\" 'invalid-system-literal\">]> DETAIL end + + def test_no_literal_in_system + exception = assert_raise(REXML::ParseException) do + REXML::Document.new(']>') + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Malformed entity declaration +Line: 1 +Position: 47 +Last 80 unconsumed characters: + % valid-name SYSTEM>]> + DETAIL + end + + def test_no_literal_in_public + exception = assert_raise(REXML::ParseException) do + REXML::Document.new(']>') + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Malformed entity declaration +Line: 1 +Position: 69 +Last 80 unconsumed characters: + % valid-name PUBLIC \"valid-pubid-literal\">]> + DETAIL + end end # https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-PubidLiteral @@ -394,6 +459,19 @@ def test_mixed_quote % valid-name PUBLIC 'invalid-pubid-literal\" \"valid-system-literal\">]> DETAIL end + + def test_no_literal + exception = assert_raise(REXML::ParseException) do + REXML::Document.new(']>') + end + assert_equal(<<-DETAIL.chomp, exception.to_s) +Malformed entity declaration +Line: 1 +Position: 47 +Last 80 unconsumed characters: + % valid-name PUBLIC>]> + DETAIL + end end end