1from PyObjCTools.TestSupport import *
2from CoreFoundation import *
3
4
5class TestXMLParser (TestCase):
6    # Note: This doesn't actually test the API
7
8    def testTypes(self):
9        self.failUnlessIsCFType(CFXMLParserRef)
10
11    def testTypeID(self):
12        self.failUnless(isinstance(CFXMLParserGetTypeID(), (int, long)))
13
14
15
16    def testConstants(self):
17        self.failUnless( kCFXMLParserValidateDocument == (1 << 0) )
18        self.failUnless( kCFXMLParserSkipMetaData == (1 << 1) )
19        self.failUnless( kCFXMLParserReplacePhysicalEntities == (1 << 2) )
20        self.failUnless( kCFXMLParserSkipWhitespace == (1 << 3) )
21        self.failUnless( kCFXMLParserResolveExternalEntities == (1 << 4) )
22        self.failUnless( kCFXMLParserAddImpliedAttributes == (1 << 5) )
23        self.failUnless( kCFXMLParserAllOptions == 0x00FFFFFF )
24        self.failUnless( kCFXMLParserNoOptions == 0 )
25
26        self.failUnless( kCFXMLStatusParseNotBegun == -2 )
27        self.failUnless( kCFXMLStatusParseInProgress == -1 )
28        self.failUnless( kCFXMLStatusParseSuccessful == 0 )
29        self.failUnless( kCFXMLErrorUnexpectedEOF == 1 )
30        self.failUnless( kCFXMLErrorUnknownEncoding == 2 )
31        self.failUnless( kCFXMLErrorEncodingConversionFailure == 3 )
32        self.failUnless( kCFXMLErrorMalformedProcessingInstruction == 4)
33        self.failUnless( kCFXMLErrorMalformedDTD == 5 )
34        self.failUnless( kCFXMLErrorMalformedName == 6 )
35        self.failUnless( kCFXMLErrorMalformedCDSect == 7 )
36        self.failUnless( kCFXMLErrorMalformedCloseTag == 8 )
37        self.failUnless( kCFXMLErrorMalformedStartTag == 9 )
38        self.failUnless( kCFXMLErrorMalformedDocument == 10 )
39        self.failUnless( kCFXMLErrorElementlessDocument == 11 )
40        self.failUnless( kCFXMLErrorMalformedComment == 12 )
41        self.failUnless( kCFXMLErrorMalformedCharacterReference == 13 )
42        self.failUnless( kCFXMLErrorMalformedParsedCharacterData == 14 )
43        self.failUnless( kCFXMLErrorNoData == 15 )
44
45        self.failUnless( isinstance(kCFXMLTreeErrorDescription, unicode) )
46        self.failUnless( isinstance(kCFXMLTreeErrorLineNumber, unicode) )
47        self.failUnless( isinstance(kCFXMLTreeErrorLocation, unicode) )
48        self.failUnless( isinstance(kCFXMLTreeErrorStatusCode, unicode) )
49
50
51if __name__ == "__main__":
52    main()
53