aboutsummaryrefslogtreecommitdiff
path: root/src/unit
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-06-28 07:28:17 +0000
committerMike Buland <eichlan@xagasoft.com>2006-06-28 07:28:17 +0000
commit789eaff64b6dcdf920eb3f5a5d64ab4f1f33aa05 (patch)
tree8eae4bb7d22e5553e130c513cc3e29347cfc28c2 /src/unit
parent35274124dc95ec5d6094e71c18ac7b484d812f13 (diff)
downloadlibbu++-789eaff64b6dcdf920eb3f5a5d64ab4f1f33aa05.tar.gz
libbu++-789eaff64b6dcdf920eb3f5a5d64ab4f1f33aa05.tar.bz2
libbu++-789eaff64b6dcdf920eb3f5a5d64ab4f1f33aa05.tar.xz
libbu++-789eaff64b6dcdf920eb3f5a5d64ab4f1f33aa05.zip
Entities now work in the xml processor the way they should, you can define your
own, use the 5 builtin ones (gt, lt, apos, quot, amp), and even create your own. The parser now skips any text definition at the top, which is fine for most xml that you get these days. I think if we ever make the break to full compliance we'll need to make a new parser from scratch.
Diffstat (limited to 'src/unit')
-rw-r--r--src/unit/xml.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/unit/xml.cpp b/src/unit/xml.cpp
index 559b2f4..e4d779c 100644
--- a/src/unit/xml.cpp
+++ b/src/unit/xml.cpp
@@ -15,6 +15,10 @@ public:
15 TEST_ADD( XmlCoreTestSuite::badXml01 ) 15 TEST_ADD( XmlCoreTestSuite::badXml01 )
16 TEST_ADD( XmlCoreTestSuite::badXml02 ) 16 TEST_ADD( XmlCoreTestSuite::badXml02 )
17 TEST_ADD( XmlCoreTestSuite::badXml03 ) 17 TEST_ADD( XmlCoreTestSuite::badXml03 )
18
19 TEST_ADD( XmlCoreTestSuite::entityBuiltin01 )
20
21 TEST_ADD( XmlCoreTestSuite::entityDoc01 )
18 } 22 }
19 23
20private: 24private:
@@ -32,6 +36,18 @@ private:
32 { 36 {
33 TEST_THROWS( XmlStringReader r("<hello param=\"stuff?"), XmlException & ); 37 TEST_THROWS( XmlStringReader r("<hello param=\"stuff?"), XmlException & );
34 } 38 }
39
40 void entityBuiltin01()
41 {
42 XmlStringReader r("<hello>&gt;&lt;&amp;&apos;&quot;</hello>");
43 TEST_ASSERT( strcmp( r.getRoot()->getContent(), "><&\'\"" ) == 0 );
44 }
45
46 void entityDoc01()
47 {
48 XmlStringReader r("<!ENTITY name \"bob the man\"><hello>&quot;&name;&quot;</hello>");
49 TEST_ASSERT( strcmp( r.getRoot()->getContent(), "\"bob the man\"" ) == 0 );
50 }
35}; 51};
36 52
37int main( int argc, char *argv[] ) 53int main( int argc, char *argv[] )