1 2from PyObjCTools.TestSupport import * 3from Quartz import * 4 5class TestCGImageProperties (TestCase): 6 7 def testConstants(self): 8 self.assertIsInstance(kCGImagePropertyTIFFDictionary, unicode) 9 self.assertIsInstance(kCGImagePropertyGIFDictionary, unicode) 10 self.assertIsInstance(kCGImagePropertyJFIFDictionary, unicode) 11 self.assertIsInstance(kCGImagePropertyExifDictionary, unicode) 12 self.assertIsInstance(kCGImagePropertyPNGDictionary, unicode) 13 self.assertIsInstance(kCGImagePropertyIPTCDictionary, unicode) 14 self.assertIsInstance(kCGImagePropertyGPSDictionary, unicode) 15 self.assertIsInstance(kCGImagePropertyRawDictionary, unicode) 16 self.assertIsInstance(kCGImagePropertyCIFFDictionary, unicode) 17 18 19 self.assertIsInstance(kCGImagePropertyFileSize, unicode) 20 self.assertIsInstance(kCGImagePropertyPixelHeight, unicode) 21 self.assertIsInstance(kCGImagePropertyPixelWidth, unicode) 22 self.assertIsInstance(kCGImagePropertyDPIHeight, unicode) 23 self.assertIsInstance(kCGImagePropertyDPIWidth, unicode) 24 self.assertIsInstance(kCGImagePropertyDepth, unicode) 25 self.assertIsInstance(kCGImagePropertyOrientation, unicode) 26 self.assertIsInstance(kCGImagePropertyIsFloat, unicode) 27 self.assertIsInstance(kCGImagePropertyIsIndexed, unicode) 28 self.assertIsInstance(kCGImagePropertyHasAlpha, unicode) 29 self.assertIsInstance(kCGImagePropertyColorModel, unicode) 30 self.assertIsInstance(kCGImagePropertyProfileName, unicode) 31 self.assertIsInstance(kCGImagePropertyColorModelRGB, unicode) 32 self.assertIsInstance(kCGImagePropertyColorModelGray, unicode) 33 self.assertIsInstance(kCGImagePropertyColorModelCMYK, unicode) 34 self.assertIsInstance(kCGImagePropertyColorModelLab, unicode) 35 self.assertIsInstance(kCGImagePropertyTIFFCompression, unicode) 36 self.assertIsInstance(kCGImagePropertyTIFFPhotometricInterpretation, unicode) 37 self.assertIsInstance(kCGImagePropertyTIFFDocumentName, unicode) 38 self.assertIsInstance(kCGImagePropertyTIFFImageDescription, unicode) 39 self.assertIsInstance(kCGImagePropertyTIFFMake, unicode) 40 self.assertIsInstance(kCGImagePropertyTIFFModel, unicode) 41 self.assertIsInstance(kCGImagePropertyTIFFOrientation, unicode) 42 self.assertIsInstance(kCGImagePropertyTIFFXResolution, unicode) 43 self.assertIsInstance(kCGImagePropertyTIFFYResolution, unicode) 44 self.assertIsInstance(kCGImagePropertyTIFFResolutionUnit, unicode) 45 self.assertIsInstance(kCGImagePropertyTIFFSoftware, unicode) 46 self.assertIsInstance(kCGImagePropertyTIFFTransferFunction, unicode) 47 self.assertIsInstance(kCGImagePropertyTIFFDateTime, unicode) 48 self.assertIsInstance(kCGImagePropertyTIFFArtist, unicode) 49 self.assertIsInstance(kCGImagePropertyTIFFHostComputer, unicode) 50 self.assertIsInstance(kCGImagePropertyTIFFCopyright, unicode) 51 self.assertIsInstance(kCGImagePropertyTIFFWhitePoint, unicode) 52 self.assertIsInstance(kCGImagePropertyTIFFPrimaryChromaticities, unicode) 53 self.assertIsInstance(kCGImagePropertyJFIFVersion, unicode) 54 self.assertIsInstance(kCGImagePropertyJFIFXDensity, unicode) 55 self.assertIsInstance(kCGImagePropertyJFIFYDensity, unicode) 56 self.assertIsInstance(kCGImagePropertyJFIFDensityUnit, unicode) 57 self.assertIsInstance(kCGImagePropertyJFIFIsProgressive, unicode) 58 self.assertIsInstance(kCGImagePropertyExifExposureTime, unicode) 59 self.assertIsInstance(kCGImagePropertyExifFNumber, unicode) 60 self.assertIsInstance(kCGImagePropertyExifExposureProgram, unicode) 61 self.assertIsInstance(kCGImagePropertyExifSpectralSensitivity, unicode) 62 self.assertIsInstance(kCGImagePropertyExifISOSpeedRatings, unicode) 63 self.assertIsInstance(kCGImagePropertyExifOECF, unicode) 64 self.assertIsInstance(kCGImagePropertyExifVersion, unicode) 65 self.assertIsInstance(kCGImagePropertyExifDateTimeOriginal, unicode) 66 self.assertIsInstance(kCGImagePropertyExifDateTimeDigitized, unicode) 67 self.assertIsInstance(kCGImagePropertyExifComponentsConfiguration, unicode) 68 self.assertIsInstance(kCGImagePropertyExifCompressedBitsPerPixel, unicode) 69 self.assertIsInstance(kCGImagePropertyExifShutterSpeedValue, unicode) 70 self.assertIsInstance(kCGImagePropertyExifApertureValue, unicode) 71 self.assertIsInstance(kCGImagePropertyExifBrightnessValue, unicode) 72 self.assertIsInstance(kCGImagePropertyExifExposureBiasValue, unicode) 73 self.assertIsInstance(kCGImagePropertyExifMaxApertureValue, unicode) 74 self.assertIsInstance(kCGImagePropertyExifSubjectDistance, unicode) 75 self.assertIsInstance(kCGImagePropertyExifMeteringMode, unicode) 76 self.assertIsInstance(kCGImagePropertyExifLightSource, unicode) 77 self.assertIsInstance(kCGImagePropertyExifFlash, unicode) 78 self.assertIsInstance(kCGImagePropertyExifFocalLength, unicode) 79 self.assertIsInstance(kCGImagePropertyExifSubjectArea, unicode) 80 self.assertIsInstance(kCGImagePropertyExifMakerNote, unicode) 81 self.assertIsInstance(kCGImagePropertyExifUserComment, unicode) 82 self.assertIsInstance(kCGImagePropertyExifSubsecTime, unicode) 83 self.assertIsInstance(kCGImagePropertyExifSubsecTimeOrginal, unicode) 84 self.assertIsInstance(kCGImagePropertyExifSubsecTimeDigitized, unicode) 85 self.assertIsInstance(kCGImagePropertyExifFlashPixVersion, unicode) 86 self.assertIsInstance(kCGImagePropertyExifColorSpace, unicode) 87 self.assertIsInstance(kCGImagePropertyExifPixelXDimension, unicode) 88 self.assertIsInstance(kCGImagePropertyExifPixelYDimension, unicode) 89 self.assertIsInstance(kCGImagePropertyExifRelatedSoundFile, unicode) 90 self.assertIsInstance(kCGImagePropertyExifFlashEnergy, unicode) 91 self.assertIsInstance(kCGImagePropertyExifSpatialFrequencyResponse, unicode) 92 self.assertIsInstance(kCGImagePropertyExifFocalPlaneXResolution, unicode) 93 self.assertIsInstance(kCGImagePropertyExifFocalPlaneYResolution, unicode) 94 self.assertIsInstance(kCGImagePropertyExifFocalPlaneResolutionUnit, unicode) 95 self.assertIsInstance(kCGImagePropertyExifSubjectLocation, unicode) 96 self.assertIsInstance(kCGImagePropertyExifExposureIndex, unicode) 97 self.assertIsInstance(kCGImagePropertyExifSensingMethod, unicode) 98 self.assertIsInstance(kCGImagePropertyExifFileSource, unicode) 99 self.assertIsInstance(kCGImagePropertyExifSceneType, unicode) 100 self.assertIsInstance(kCGImagePropertyExifCFAPattern, unicode) 101 self.assertIsInstance(kCGImagePropertyExifCustomRendered, unicode) 102 self.assertIsInstance(kCGImagePropertyExifExposureMode, unicode) 103 self.assertIsInstance(kCGImagePropertyExifWhiteBalance, unicode) 104 self.assertIsInstance(kCGImagePropertyExifDigitalZoomRatio, unicode) 105 self.assertIsInstance(kCGImagePropertyExifFocalLenIn35mmFilm, unicode) 106 self.assertIsInstance(kCGImagePropertyExifSceneCaptureType, unicode) 107 self.assertIsInstance(kCGImagePropertyExifGainControl, unicode) 108 self.assertIsInstance(kCGImagePropertyExifContrast, unicode) 109 self.assertIsInstance(kCGImagePropertyExifSaturation, unicode) 110 self.assertIsInstance(kCGImagePropertyExifSharpness, unicode) 111 self.assertIsInstance(kCGImagePropertyExifDeviceSettingDescription, unicode) 112 self.assertIsInstance(kCGImagePropertyExifSubjectDistRange, unicode) 113 self.assertIsInstance(kCGImagePropertyExifImageUniqueID, unicode) 114 self.assertIsInstance(kCGImagePropertyExifGamma, unicode) 115 self.assertIsInstance(kCGImagePropertyGIFLoopCount, unicode) 116 self.assertIsInstance(kCGImagePropertyGIFDelayTime, unicode) 117 self.assertIsInstance(kCGImagePropertyGIFImageColorMap, unicode) 118 self.assertIsInstance(kCGImagePropertyGIFHasGlobalColorMap, unicode) 119 self.assertIsInstance(kCGImagePropertyPNGGamma, unicode) 120 self.assertIsInstance(kCGImagePropertyPNGInterlaceType, unicode) 121 self.assertIsInstance(kCGImagePropertyPNGXPixelsPerMeter, unicode) 122 self.assertIsInstance(kCGImagePropertyPNGYPixelsPerMeter, unicode) 123 self.assertIsInstance(kCGImagePropertyPNGsRGBIntent, unicode) 124 self.assertIsInstance(kCGImagePropertyPNGChromaticities, unicode) 125 self.assertIsInstance(kCGImagePropertyGPSVersion, unicode) 126 self.assertIsInstance(kCGImagePropertyGPSLatitudeRef, unicode) 127 self.assertIsInstance(kCGImagePropertyGPSLatitude, unicode) 128 self.assertIsInstance(kCGImagePropertyGPSLongitudeRef, unicode) 129 self.assertIsInstance(kCGImagePropertyGPSLongitude, unicode) 130 self.assertIsInstance(kCGImagePropertyGPSAltitudeRef, unicode) 131 self.assertIsInstance(kCGImagePropertyGPSAltitude, unicode) 132 self.assertIsInstance(kCGImagePropertyGPSTimeStamp, unicode) 133 self.assertIsInstance(kCGImagePropertyGPSSatellites, unicode) 134 self.assertIsInstance(kCGImagePropertyGPSStatus, unicode) 135 self.assertIsInstance(kCGImagePropertyGPSMeasureMode, unicode) 136 self.assertIsInstance(kCGImagePropertyGPSDOP, unicode) 137 self.assertIsInstance(kCGImagePropertyGPSSpeedRef, unicode) 138 self.assertIsInstance(kCGImagePropertyGPSSpeed, unicode) 139 self.assertIsInstance(kCGImagePropertyGPSTrackRef, unicode) 140 self.assertIsInstance(kCGImagePropertyGPSTrack, unicode) 141 self.assertIsInstance(kCGImagePropertyGPSImgDirectionRef, unicode) 142 self.assertIsInstance(kCGImagePropertyGPSImgDirection, unicode) 143 self.assertIsInstance(kCGImagePropertyGPSMapDatum, unicode) 144 self.assertIsInstance(kCGImagePropertyGPSDestLatitudeRef, unicode) 145 self.assertIsInstance(kCGImagePropertyGPSDestLatitude, unicode) 146 self.assertIsInstance(kCGImagePropertyGPSDestLongitudeRef, unicode) 147 self.assertIsInstance(kCGImagePropertyGPSDestLongitude, unicode) 148 self.assertIsInstance(kCGImagePropertyGPSDestBearingRef, unicode) 149 self.assertIsInstance(kCGImagePropertyGPSDestBearing, unicode) 150 self.assertIsInstance(kCGImagePropertyGPSDestDistanceRef, unicode) 151 self.assertIsInstance(kCGImagePropertyGPSDestDistance, unicode) 152 self.assertIsInstance(kCGImagePropertyGPSProcessingMethod, unicode) 153 self.assertIsInstance(kCGImagePropertyGPSAreaInformation, unicode) 154 self.assertIsInstance(kCGImagePropertyGPSDateStamp, unicode) 155 self.assertIsInstance(kCGImagePropertyGPSDifferental, unicode) 156 self.assertIsInstance(kCGImagePropertyIPTCObjectTypeReference, unicode) 157 self.assertIsInstance(kCGImagePropertyIPTCObjectAttributeReference, unicode) 158 self.assertIsInstance(kCGImagePropertyIPTCObjectName, unicode) 159 self.assertIsInstance(kCGImagePropertyIPTCEditStatus, unicode) 160 self.assertIsInstance(kCGImagePropertyIPTCEditorialUpdate, unicode) 161 self.assertIsInstance(kCGImagePropertyIPTCUrgency, unicode) 162 self.assertIsInstance(kCGImagePropertyIPTCSubjectReference, unicode) 163 self.assertIsInstance(kCGImagePropertyIPTCCategory, unicode) 164 self.assertIsInstance(kCGImagePropertyIPTCSupplementalCategory, unicode) 165 self.assertIsInstance(kCGImagePropertyIPTCFixtureIdentifier, unicode) 166 self.assertIsInstance(kCGImagePropertyIPTCKeywords, unicode) 167 self.assertIsInstance(kCGImagePropertyIPTCContentLocationCode, unicode) 168 self.assertIsInstance(kCGImagePropertyIPTCContentLocationName, unicode) 169 self.assertIsInstance(kCGImagePropertyIPTCReleaseDate, unicode) 170 self.assertIsInstance(kCGImagePropertyIPTCReleaseTime, unicode) 171 self.assertIsInstance(kCGImagePropertyIPTCExpirationDate, unicode) 172 self.assertIsInstance(kCGImagePropertyIPTCExpirationTime, unicode) 173 self.assertIsInstance(kCGImagePropertyIPTCSpecialInstructions, unicode) 174 self.assertIsInstance(kCGImagePropertyIPTCActionAdvised, unicode) 175 self.assertIsInstance(kCGImagePropertyIPTCReferenceService, unicode) 176 self.assertIsInstance(kCGImagePropertyIPTCReferenceDate, unicode) 177 self.assertIsInstance(kCGImagePropertyIPTCReferenceNumber, unicode) 178 self.assertIsInstance(kCGImagePropertyIPTCDateCreated, unicode) 179 self.assertIsInstance(kCGImagePropertyIPTCTimeCreated, unicode) 180 self.assertIsInstance(kCGImagePropertyIPTCDigitalCreationDate, unicode) 181 self.assertIsInstance(kCGImagePropertyIPTCDigitalCreationTime, unicode) 182 self.assertIsInstance(kCGImagePropertyIPTCOriginatingProgram, unicode) 183 self.assertIsInstance(kCGImagePropertyIPTCProgramVersion, unicode) 184 self.assertIsInstance(kCGImagePropertyIPTCObjectCycle, unicode) 185 self.assertIsInstance(kCGImagePropertyIPTCByline, unicode) 186 self.assertIsInstance(kCGImagePropertyIPTCBylineTitle, unicode) 187 self.assertIsInstance(kCGImagePropertyIPTCCity, unicode) 188 self.assertIsInstance(kCGImagePropertyIPTCSubLocation, unicode) 189 self.assertIsInstance(kCGImagePropertyIPTCProvinceState, unicode) 190 self.assertIsInstance(kCGImagePropertyIPTCCountryPrimaryLocationCode, unicode) 191 self.assertIsInstance(kCGImagePropertyIPTCCountryPrimaryLocationName, unicode) 192 self.assertIsInstance(kCGImagePropertyIPTCOriginalTransmissionReference, unicode) 193 self.assertIsInstance(kCGImagePropertyIPTCHeadline, unicode) 194 self.assertIsInstance(kCGImagePropertyIPTCCredit, unicode) 195 self.assertIsInstance(kCGImagePropertyIPTCSource, unicode) 196 self.assertIsInstance(kCGImagePropertyIPTCCopyrightNotice, unicode) 197 self.assertIsInstance(kCGImagePropertyIPTCContact, unicode) 198 self.assertIsInstance(kCGImagePropertyIPTCCaptionAbstract, unicode) 199 self.assertIsInstance(kCGImagePropertyIPTCWriterEditor, unicode) 200 self.assertIsInstance(kCGImagePropertyIPTCImageType, unicode) 201 self.assertIsInstance(kCGImagePropertyIPTCImageOrientation, unicode) 202 self.assertIsInstance(kCGImagePropertyIPTCLanguageIdentifier, unicode) 203 self.assertIsInstance(kCGImagePropertyIPTCStarRating, unicode) 204 205 206 @min_os_level('10.5') 207 @expectedFailure 208 def testConstants10_5_missing(self): 209 self.assertIsInstance(kCGImagePropertyMakerMinoltaDictionary, unicode) 210 self.assertIsInstance(kCGImagePropertyMakerFujiDictionary, unicode) 211 self.assertIsInstance(kCGImagePropertyMakerOlympusDictionary, unicode) 212 self.assertIsInstance(kCGImagePropertyMakerPentaxDictionary, unicode) 213 214 @min_os_level('10.5') 215 def testConstants10_5(self): 216 self.assertIsInstance(kCGImagePropertyMakerCanonDictionary, unicode) 217 self.assertIsInstance(kCGImagePropertyMakerNikonDictionary, unicode) 218 self.assertIsInstance(kCGImageProperty8BIMDictionary, unicode) 219 self.assertIsInstance(kCGImagePropertyDNGDictionary, unicode) 220 self.assertIsInstance(kCGImageProperty8BIMLayerNames, unicode) 221 self.assertIsInstance(kCGImagePropertyDNGVersion, unicode) 222 self.assertIsInstance(kCGImagePropertyDNGBackwardVersion, unicode) 223 self.assertIsInstance(kCGImagePropertyDNGUniqueCameraModel, unicode) 224 self.assertIsInstance(kCGImagePropertyDNGLocalizedCameraModel, unicode) 225 self.assertIsInstance(kCGImagePropertyDNGCameraSerialNumber, unicode) 226 self.assertIsInstance(kCGImagePropertyDNGLensInfo, unicode) 227 self.assertIsInstance(kCGImagePropertyCIFFDescription, unicode) 228 self.assertIsInstance(kCGImagePropertyCIFFFirmware, unicode) 229 self.assertIsInstance(kCGImagePropertyCIFFOwnerName, unicode) 230 self.assertIsInstance(kCGImagePropertyCIFFImageName, unicode) 231 self.assertIsInstance(kCGImagePropertyCIFFImageFileName, unicode) 232 self.assertIsInstance(kCGImagePropertyCIFFReleaseMethod, unicode) 233 self.assertIsInstance(kCGImagePropertyCIFFReleaseTiming, unicode) 234 self.assertIsInstance(kCGImagePropertyCIFFRecordID, unicode) 235 self.assertIsInstance(kCGImagePropertyCIFFSelfTimingTime, unicode) 236 self.assertIsInstance(kCGImagePropertyCIFFCameraSerialNumber, unicode) 237 self.assertIsInstance(kCGImagePropertyCIFFImageSerialNumber, unicode) 238 self.assertIsInstance(kCGImagePropertyCIFFContinuousDrive, unicode) 239 self.assertIsInstance(kCGImagePropertyCIFFFocusMode, unicode) 240 self.assertIsInstance(kCGImagePropertyCIFFMeteringMode, unicode) 241 self.assertIsInstance(kCGImagePropertyCIFFShootingMode, unicode) 242 self.assertIsInstance(kCGImagePropertyCIFFLensModel, unicode) 243 self.assertIsInstance(kCGImagePropertyCIFFLensMaxMM, unicode) 244 self.assertIsInstance(kCGImagePropertyCIFFLensMinMM, unicode) 245 self.assertIsInstance(kCGImagePropertyCIFFWhiteBalanceIndex, unicode) 246 self.assertIsInstance(kCGImagePropertyCIFFFlashExposureComp, unicode) 247 self.assertIsInstance(kCGImagePropertyCIFFMeasuredEV, unicode) 248 self.assertIsInstance(kCGImagePropertyMakerNikonISOSetting, unicode) 249 self.assertIsInstance(kCGImagePropertyMakerNikonColorMode, unicode) 250 self.assertIsInstance(kCGImagePropertyMakerNikonQuality, unicode) 251 self.assertIsInstance(kCGImagePropertyMakerNikonWhiteBalanceMode, unicode) 252 self.assertIsInstance(kCGImagePropertyMakerNikonSharpenMode, unicode) 253 self.assertIsInstance(kCGImagePropertyMakerNikonFocusMode, unicode) 254 self.assertIsInstance(kCGImagePropertyMakerNikonFlashSetting, unicode) 255 self.assertIsInstance(kCGImagePropertyMakerNikonISOSelection, unicode) 256 self.assertIsInstance(kCGImagePropertyMakerNikonFlashExposureComp, unicode) 257 self.assertIsInstance(kCGImagePropertyMakerNikonImageAdjustment, unicode) 258 self.assertIsInstance(kCGImagePropertyMakerNikonLensAdapter, unicode) 259 self.assertIsInstance(kCGImagePropertyMakerNikonLensType, unicode) 260 self.assertIsInstance(kCGImagePropertyMakerNikonLensInfo, unicode) 261 self.assertIsInstance(kCGImagePropertyMakerNikonFocusDistance, unicode) 262 self.assertIsInstance(kCGImagePropertyMakerNikonDigitalZoom, unicode) 263 self.assertIsInstance(kCGImagePropertyMakerNikonShootingMode, unicode) 264 self.assertIsInstance(kCGImagePropertyMakerNikonCameraSerialNumber, unicode) 265 self.assertIsInstance(kCGImagePropertyMakerNikonShutterCount, unicode) 266 self.assertIsInstance(kCGImagePropertyMakerCanonOwnerName, unicode) 267 self.assertIsInstance(kCGImagePropertyMakerCanonCameraSerialNumber, unicode) 268 self.assertIsInstance(kCGImagePropertyMakerCanonImageSerialNumber, unicode) 269 self.assertIsInstance(kCGImagePropertyMakerCanonFlashExposureComp, unicode) 270 self.assertIsInstance(kCGImagePropertyMakerCanonContinuousDrive, unicode) 271 self.assertIsInstance(kCGImagePropertyMakerCanonLensModel, unicode) 272 self.assertIsInstance(kCGImagePropertyExifAuxDictionary, unicode) 273 self.assertIsInstance(kCGImagePropertyMakerCanonFirmware, unicode) 274 self.assertIsInstance(kCGImagePropertyMakerCanonAspectRatioInfo, unicode) 275 self.assertIsInstance(kCGImagePropertyExifAuxLensInfo, unicode) 276 self.assertIsInstance(kCGImagePropertyExifAuxLensModel, unicode) 277 self.assertIsInstance(kCGImagePropertyExifAuxSerialNumber, unicode) 278 self.assertIsInstance(kCGImagePropertyExifAuxLensID, unicode) 279 self.assertIsInstance(kCGImagePropertyExifAuxLensSerialNumber, unicode) 280 self.assertIsInstance(kCGImagePropertyExifAuxImageNumber, unicode) 281 self.assertIsInstance(kCGImagePropertyExifAuxFlashCompensation, unicode) 282 self.assertIsInstance(kCGImagePropertyExifAuxOwnerName, unicode) 283 self.assertIsInstance(kCGImagePropertyExifAuxFirmware, unicode) 284 285 286 @min_os_level('10.6') 287 @expectedFailure 288 def testConstants10_6(self): 289 self.assertIsInstance(kCGImagePropertyIPTCCreatorContactInfo, unicode) 290 self.assertIsInstance(kCGImagePropertyIPTCRightsUsageTerms, unicode) 291 self.assertIsInstance(kCGImagePropertyIPTCScene, unicode) 292 self.assertIsInstance(kCGImagePropertyIPTCContactInfoCity, unicode) 293 self.assertIsInstance(kCGImagePropertyIPTCContactInfoCountry, unicode) 294 self.assertIsInstance(kCGImagePropertyIPTCContactInfoAddress, unicode) 295 self.assertIsInstance(kCGImagePropertyIPTCContactInfoPostalCode, unicode) 296 self.assertIsInstance(kCGImagePropertyIPTCContactInfoStateProvince, unicode) 297 self.assertIsInstance(kCGImagePropertyIPTCContactInfoEmails, unicode) 298 self.assertIsInstance(kCGImagePropertyIPTCContactInfoPhones, unicode) 299 self.assertIsInstance(kCGImagePropertyIPTCContactInfoWebURLs, unicode) 300 301 302if __name__ == "__main__": 303 main() 304