1import os 2from PyObjCTools.TestSupport import * 3from CoreFoundation import * 4import sys 5 6 7class TestURLAccess (TestCase): 8 def testConstants(self): 9 self.assertEqual(kCFURLUnknownError , -10 ) 10 self.assertEqual(kCFURLUnknownSchemeError , -11 ) 11 self.assertEqual(kCFURLResourceNotFoundError , -12 ) 12 self.assertEqual(kCFURLResourceAccessViolationError , -13 ) 13 self.assertEqual(kCFURLRemoteHostUnavailableError , -14 ) 14 self.assertEqual(kCFURLImproperArgumentsError , -15 ) 15 self.assertEqual(kCFURLUnknownPropertyKeyError , -16 ) 16 self.assertEqual(kCFURLPropertyKeyUnavailableError , -17 ) 17 self.assertEqual(kCFURLTimeoutError , -18 ) 18 self.assertIsInstance( kCFURLFileExists, unicode) 19 self.assertIsInstance( kCFURLFileDirectoryContents, unicode) 20 self.assertIsInstance( kCFURLFileLength, unicode) 21 self.assertIsInstance( kCFURLFileLastModificationTime, unicode) 22 self.assertIsInstance( kCFURLFilePOSIXMode, unicode) 23 self.assertIsInstance( kCFURLFileOwnerID, unicode) 24 self.assertIsInstance( kCFURLHTTPStatusCode, unicode) 25 self.assertIsInstance( kCFURLHTTPStatusLine, unicode) 26 def testFunctions(self): 27 url = CFURLCreateWithFileSystemPath(None, __file__, kCFURLPOSIXPathStyle, False) 28 29 self.assertArgIsOut(CFURLCreatePropertyFromResource, 3) 30 val, errorCode = CFURLCreatePropertyFromResource(None, url, kCFURLFileExists, None) 31 self.assertIsInstance(errorCode, (int, long)) 32 self.assertIs(val, True) 33 self.assertResultIsBOOL(CFURLCreateDataAndPropertiesFromResource) 34 self.assertArgIsOut(CFURLCreateDataAndPropertiesFromResource, 2) 35 self.assertArgIsOut(CFURLCreateDataAndPropertiesFromResource, 3) 36 self.assertArgIsOut(CFURLCreateDataAndPropertiesFromResource, 5) 37 ok, data, properties, errorCode = CFURLCreateDataAndPropertiesFromResource( 38 None, url, None, None, None, None) 39 self.assertTrue(ok) 40 self.assertIsInstance(data, CFDataRef) 41 self.assertIsInstance(properties, CFDictionaryRef) 42 self.assertIsInstance(errorCode, (int, long)) 43 self.assertTrue(properties[kCFURLFileExists]) 44 45 self.assertResultIsBOOL(CFURLWriteDataAndPropertiesToResource) 46 self.assertArgIsOut(CFURLWriteDataAndPropertiesToResource, 3) 47 url = CFURLCreateWithFileSystemPath(None, __file__ + "TEST", kCFURLPOSIXPathStyle, False) 48 49 if sys.version_info[0] == 3: 50 def buffer(value): 51 return value 52 else: 53 from __builtin__ import buffer 54 55 ok, errorCode = CFURLWriteDataAndPropertiesToResource( 56 url, buffer(b"foobar"), None, None) 57 self.assertTrue(ok) 58 self.assertIsInstance(errorCode, (int, long)) 59 self.assertTrue(os.path.exists(__file__ + "TEST")) 60 data = open(__file__ + "TEST", 'r').read() 61 self.assertEqual(data , 'foobar') 62 self.assertResultIsBOOL(CFURLDestroyResource) 63 self.assertArgIsOut(CFURLDestroyResource, 1) 64 ok, errorCode = CFURLDestroyResource(url, None) 65 self.assertTrue(ok) 66 self.assertIsInstance(errorCode, (int, long)) 67 self.assertFalse(os.path.exists(__file__ + "TEST")) 68 69 70 71 72if __name__ == "__main__": 73 main() 74