summaryrefslogtreecommitdiff
path: root/test/rexml/parser
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-11 09:09:25 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-11 09:09:25 +0000
commitf61f11a936a233f032dafa0298890ab8116c63bd (patch)
tree4e8d37905628b1e3ece22ec3411f2e2e51894fb4 /test/rexml/parser
parent3e5f5f5ca4ca2594f102832b34fc08ae82d74c23 (diff)
* lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):
Support NDATA in external entity declaration. * test/rexml/parser/test_sax2.rb: Add tests for the above case. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rexml/parser')
-rw-r--r--test/rexml/parser/test_sax2.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/rexml/parser/test_sax2.rb b/test/rexml/parser/test_sax2.rb
index f1e6412..a4279fa 100644
--- a/test/rexml/parser/test_sax2.rb
+++ b/test/rexml/parser/test_sax2.rb
@@ -54,6 +54,18 @@ class TestSAX2Parser < Test::Unit::TestCase
class TestExternlID < self
class TestSystem < self
+ def test_with_ndata
+ declaration = [
+ "name",
+ "SYSTEM", "system-literal",
+ "NDATA", "ndata-name",
+ ]
+ assert_equal([declaration],
+ parse(<<-INTERNAL_SUBSET))
+<!ENTITY name SYSTEM "system-literal" NDATA ndata-name>
+ INTERNAL_SUBSET
+ end
+
def test_without_ndata
declaration = [
"name",
@@ -67,6 +79,18 @@ class TestSAX2Parser < Test::Unit::TestCase
end
class TestPublic < self
+ def test_with_ndata
+ declaration = [
+ "name",
+ "PUBLIC", "public-literal", "system-literal",
+ "NDATA", "ndata-name",
+ ]
+ assert_equal([declaration],
+ parse(<<-INTERNAL_SUBSET))
+<!ENTITY name PUBLIC "public-literal" "system-literal" NDATA ndata-name>
+ INTERNAL_SUBSET
+ end
+
def test_without_ndata
declaration = [
"name",