forked from pool/libxml2
295 lines
6.9 KiB
Diff
295 lines
6.9 KiB
Diff
|
|
From df23f584fda15955a0811bd768a8925eb98741c9 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Daniel Veillard <veillard@redhat.com>
|
||
|
|
Date: Thu, 23 Oct 2014 13:52:47 +0800
|
||
|
|
Subject: [PATCH 2/2] Adding example from bugs 738805 to regression tests
|
||
|
|
|
||
|
|
For https://bugzilla.gnome.org/show_bug.cgi?id=738805
|
||
|
|
|
||
|
|
Tortuous test case provided by pierre.labastie@neuf.fr
|
||
|
|
---
|
||
|
|
result/ent_738805.xml | 15 +++++++++++
|
||
|
|
result/ent_738805.xml.rde | 15 +++++++++++
|
||
|
|
result/ent_738805.xml.rdr | 31 +++++++++++++++++++++
|
||
|
|
result/ent_738805.xml.sax | 66 +++++++++++++++++++++++++++++++++++++++++++++
|
||
|
|
result/ent_738805.xml.sax2 | 66 +++++++++++++++++++++++++++++++++++++++++++++
|
||
|
|
result/noent/ent_738805.xml | 15 +++++++++++
|
||
|
|
test/ent_738805.xml | 16 +++++++++++
|
||
|
|
7 files changed, 224 insertions(+)
|
||
|
|
create mode 100644 result/ent_738805.xml
|
||
|
|
create mode 100644 result/ent_738805.xml.rde
|
||
|
|
create mode 100644 result/ent_738805.xml.rdr
|
||
|
|
create mode 100644 result/ent_738805.xml.sax
|
||
|
|
create mode 100644 result/ent_738805.xml.sax2
|
||
|
|
create mode 100644 result/noent/ent_738805.xml
|
||
|
|
create mode 100644 test/ent_738805.xml
|
||
|
|
|
||
|
|
diff --git a/result/ent_738805.xml b/result/ent_738805.xml
|
||
|
|
new file mode 100644
|
||
|
|
index 0000000..d285eee
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/result/ent_738805.xml
|
||
|
|
@@ -0,0 +1,15 @@
|
||
|
|
+<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
|
|
+<!DOCTYPE somedoc [
|
||
|
|
+<!ENTITY a "something">
|
||
|
|
+<!ENTITY b "&a;">
|
||
|
|
+]>
|
||
|
|
+<somedoc>
|
||
|
|
+
|
||
|
|
+<somebeacon someattribute="&b;"/>
|
||
|
|
+
|
||
|
|
+&a; should appear after colon: &a;
|
||
|
|
+&b; should appear after colon: &a;
|
||
|
|
+&a; should appear after colon: &b;
|
||
|
|
+&b; should appear after colon: &b;
|
||
|
|
+
|
||
|
|
+</somedoc>
|
||
|
|
diff --git a/result/ent_738805.xml.rde b/result/ent_738805.xml.rde
|
||
|
|
new file mode 100644
|
||
|
|
index 0000000..fa086fe
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/result/ent_738805.xml.rde
|
||
|
|
@@ -0,0 +1,15 @@
|
||
|
|
+0 10 somedoc 0 0
|
||
|
|
+0 1 somedoc 0 0
|
||
|
|
+1 14 #text 0 1
|
||
|
|
+
|
||
|
|
+
|
||
|
|
+1 1 somebeacon 1 0
|
||
|
|
+1 3 #text 0 1
|
||
|
|
+
|
||
|
|
+something should appear after colon: something
|
||
|
|
+something should appear after colon: something
|
||
|
|
+something should appear after colon: something
|
||
|
|
+something should appear after colon: something
|
||
|
|
+
|
||
|
|
+
|
||
|
|
+0 15 somedoc 0 0
|
||
|
|
diff --git a/result/ent_738805.xml.rdr b/result/ent_738805.xml.rdr
|
||
|
|
new file mode 100644
|
||
|
|
index 0000000..c52dbf1
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/result/ent_738805.xml.rdr
|
||
|
|
@@ -0,0 +1,31 @@
|
||
|
|
+0 10 somedoc 0 0
|
||
|
|
+0 1 somedoc 0 0
|
||
|
|
+1 14 #text 0 1
|
||
|
|
+
|
||
|
|
+
|
||
|
|
+1 1 somebeacon 1 0
|
||
|
|
+1 14 #text 0 1
|
||
|
|
+
|
||
|
|
+
|
||
|
|
+1 5 a 0 0
|
||
|
|
+1 3 #text 0 1 should appear after colon:
|
||
|
|
+1 5 a 0 0
|
||
|
|
+1 14 #text 0 1
|
||
|
|
+
|
||
|
|
+1 5 b 0 0
|
||
|
|
+1 3 #text 0 1 should appear after colon:
|
||
|
|
+1 5 a 0 0
|
||
|
|
+1 14 #text 0 1
|
||
|
|
+
|
||
|
|
+1 5 a 0 0
|
||
|
|
+1 3 #text 0 1 should appear after colon:
|
||
|
|
+1 5 b 0 0
|
||
|
|
+1 14 #text 0 1
|
||
|
|
+
|
||
|
|
+1 5 b 0 0
|
||
|
|
+1 3 #text 0 1 should appear after colon:
|
||
|
|
+1 5 b 0 0
|
||
|
|
+1 14 #text 0 1
|
||
|
|
+
|
||
|
|
+
|
||
|
|
+0 15 somedoc 0 0
|
||
|
|
diff --git a/result/ent_738805.xml.sax b/result/ent_738805.xml.sax
|
||
|
|
new file mode 100644
|
||
|
|
index 0000000..2649117
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/result/ent_738805.xml.sax
|
||
|
|
@@ -0,0 +1,66 @@
|
||
|
|
+SAX.setDocumentLocator()
|
||
|
|
+SAX.startDocument()
|
||
|
|
+SAX.internalSubset(somedoc, , )
|
||
|
|
+SAX.entityDecl(a, 1, (null), (null), something)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.entityDecl(b, 1, (null), (null), &a;)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.externalSubset(somedoc, , )
|
||
|
|
+SAX.startElement(somedoc)
|
||
|
|
+SAX.characters(
|
||
|
|
+
|
||
|
|
+, 2)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.startElement(somebeacon, someattribute='&b;')
|
||
|
|
+SAX.endElement(somebeacon)
|
||
|
|
+SAX.characters(
|
||
|
|
+
|
||
|
|
+, 2)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters(
|
||
|
|
+, 1)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters(
|
||
|
|
+, 1)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters(
|
||
|
|
+, 1)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters(
|
||
|
|
+
|
||
|
|
+, 2)
|
||
|
|
+SAX.endElement(somedoc)
|
||
|
|
+SAX.endDocument()
|
||
|
|
diff --git a/result/ent_738805.xml.sax2 b/result/ent_738805.xml.sax2
|
||
|
|
new file mode 100644
|
||
|
|
index 0000000..1eae781
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/result/ent_738805.xml.sax2
|
||
|
|
@@ -0,0 +1,66 @@
|
||
|
|
+SAX.setDocumentLocator()
|
||
|
|
+SAX.startDocument()
|
||
|
|
+SAX.internalSubset(somedoc, , )
|
||
|
|
+SAX.entityDecl(a, 1, (null), (null), something)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.entityDecl(b, 1, (null), (null), &a;)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.externalSubset(somedoc, , )
|
||
|
|
+SAX.startElementNs(somedoc, NULL, NULL, 0, 0, 0)
|
||
|
|
+SAX.characters(
|
||
|
|
+
|
||
|
|
+, 2)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.startElementNs(somebeacon, NULL, NULL, 0, 1, 0, someattribute='&b;...', 3)
|
||
|
|
+SAX.endElementNs(somebeacon, NULL, NULL)
|
||
|
|
+SAX.characters(
|
||
|
|
+
|
||
|
|
+, 2)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters(
|
||
|
|
+, 1)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters(
|
||
|
|
+, 1)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters(
|
||
|
|
+, 1)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters( should appear after colon: , 28)
|
||
|
|
+SAX.getEntity(b)
|
||
|
|
+SAX.getEntity(a)
|
||
|
|
+SAX.characters(something, 9)
|
||
|
|
+SAX.reference(a)
|
||
|
|
+SAX.reference(b)
|
||
|
|
+SAX.characters(
|
||
|
|
+
|
||
|
|
+, 2)
|
||
|
|
+SAX.endElementNs(somedoc, NULL, NULL)
|
||
|
|
+SAX.endDocument()
|
||
|
|
diff --git a/result/noent/ent_738805.xml b/result/noent/ent_738805.xml
|
||
|
|
new file mode 100644
|
||
|
|
index 0000000..5e44a55
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/result/noent/ent_738805.xml
|
||
|
|
@@ -0,0 +1,15 @@
|
||
|
|
+<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
|
|
+<!DOCTYPE somedoc [
|
||
|
|
+<!ENTITY a "something">
|
||
|
|
+<!ENTITY b "&a;">
|
||
|
|
+]>
|
||
|
|
+<somedoc>
|
||
|
|
+
|
||
|
|
+<somebeacon someattribute="something"/>
|
||
|
|
+
|
||
|
|
+something should appear after colon: something
|
||
|
|
+something should appear after colon: something
|
||
|
|
+something should appear after colon: something
|
||
|
|
+something should appear after colon: something
|
||
|
|
+
|
||
|
|
+</somedoc>
|
||
|
|
diff --git a/test/ent_738805.xml b/test/ent_738805.xml
|
||
|
|
new file mode 100644
|
||
|
|
index 0000000..9ec70b1
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/test/ent_738805.xml
|
||
|
|
@@ -0,0 +1,16 @@
|
||
|
|
+<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
|
|
+<!DOCTYPE somedoc [
|
||
|
|
+ <!ENTITY a "something">
|
||
|
|
+ <!ENTITY b "&a;">
|
||
|
|
+]>
|
||
|
|
+
|
||
|
|
+<somedoc>
|
||
|
|
+
|
||
|
|
+<somebeacon someattribute="&b;"/>
|
||
|
|
+
|
||
|
|
+&a; should appear after colon: &a;
|
||
|
|
+&b; should appear after colon: &a;
|
||
|
|
+&a; should appear after colon: &b;
|
||
|
|
+&b; should appear after colon: &b;
|
||
|
|
+
|
||
|
|
+</somedoc>
|
||
|
|
--
|
||
|
|
2.1.2
|
||
|
|
|