def test_convert_to_string_undefined(self): # Valid values tag = ExifTag('Exif.Photo.ExifVersion') self.assertEqual(tag.type, 'Undefined') self.assertEqual(tag._convert_to_string('0100'), '48 49 48 48') self.assertEqual(tag._convert_to_string(u'0100'), '48 49 48 48') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3)
def test_convert_to_string_byte(self): # Valid values tag = ExifTag("Exif.GPSInfo.GPSVersionID") self.assertEqual(tag.type, "Byte") self.assertEqual(tag._convert_to_string("Some text"), "Some text") self.assertEqual(tag._convert_to_string(u"Some text"), "Some text") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
def test_convert_to_string_srational(self): # Valid values tag = ExifTag('Exif.Image.BaselineExposure') self.assertEqual(tag.type, 'SRational') self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), '5/3') self.assertEqual(tag._convert_to_string(make_fraction(-5, 3)), '-5/3') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
def test_convert_to_string_undefined(self): # Valid values tag = ExifTag("Exif.Photo.ExifVersion") self.assertEqual(tag.type, "Undefined") self.assertEqual(tag._convert_to_string("0100"), "48 49 48 48") self.assertEqual(tag._convert_to_string(u"0100"), "48 49 48 48") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3)
def test_convert_to_string_srational(self): # Valid values tag = ExifTag("Exif.Image.BaselineExposure") self.assertEqual(tag.type, "SRational") self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), "5/3") self.assertEqual(tag._convert_to_string(make_fraction(-5, 3)), "-5/3") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid")
def test_convert_to_string_sbyte(self): # Valid values tag = ExifTag('Exif.Pentax.Temperature') self.assertEqual(tag.type, 'SByte') self.assertEqual(tag._convert_to_string('13'), '13') self.assertEqual(tag._convert_to_string(u'13'), '13') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
def test_convert_to_string_sbyte(self): # Valid values tag = ExifTag("Exif.Pentax.Temperature") self.assertEqual(tag.type, "SByte") self.assertEqual(tag._convert_to_string("13"), "13") self.assertEqual(tag._convert_to_string(u"13"), "13") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
def test_convert_to_string_byte(self): # Valid values tag = ExifTag('Exif.GPSInfo.GPSVersionID') self.assertEqual(tag.type, 'Byte') self.assertEqual(tag._convert_to_string('Some text'), 'Some text') self.assertEqual(tag._convert_to_string(u'Some text'), 'Some text') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
def test_convert_to_string_comment(self): # Valid values tag = ExifTag('Exif.Photo.UserComment') self.assertEqual(tag.type, 'Comment') self.assertEqual(tag._convert_to_string('A comment'), b'A comment') charsets = ('Ascii', 'Jis', 'Unicode', 'Undefined') for charset in charsets: tag.raw_value = 'charset="%s" foo' % charset self.assertEqual(tag._convert_to_string('A comment'), b'A comment') self.assertEqual(tag._convert_to_string('déjà vu'), b'd\xc3\xa9j\xc3\xa0 vu')
def test_convert_to_string_long(self): # Valid values tag = ExifTag("Exif.Image.ImageWidth") self.assertEqual(tag.type, "Long") self.assertEqual(tag._convert_to_string(123), "123") self.assertEqual(tag._convert_to_string(678024), "678024") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57) self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid") self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_slong(self): # Valid values tag = ExifTag('Exif.OlympusCs.ManometerReading') self.assertEqual(tag.type, 'SLong') self.assertEqual(tag._convert_to_string(123), '123') self.assertEqual(tag._convert_to_string(678024), '678024') self.assertEqual(tag._convert_to_string(-437), '-437') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid') self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_long(self): # Valid values tag = ExifTag('Exif.Image.ImageWidth') self.assertEqual(tag.type, 'Long') self.assertEqual(tag._convert_to_string(123), '123') self.assertEqual(tag._convert_to_string(678024), '678024') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57) self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid') self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_slong(self): # Valid values tag = ExifTag("Exif.OlympusCs.ManometerReading") self.assertEqual(tag.type, "SLong") self.assertEqual(tag._convert_to_string(123), "123") self.assertEqual(tag._convert_to_string(678024), "678024") self.assertEqual(tag._convert_to_string(-437), "-437") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid") self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_ascii(self): # Valid values: datetimes tag = ExifTag('Exif.Image.DateTime') self.assertEqual(tag.type, 'Ascii') self.assertEqual( tag._convert_to_string(datetime.datetime(2009, 3, 1, 12, 54, 28)), '2009:03:01 12:54:28') self.assertEqual(tag._convert_to_string(datetime.date(2009, 3, 1)), '2009:03:01 00:00:00') self.assertEqual( tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59)), '1899:12:31 23:59:59') self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)), '1899:12:31 00:00:00') # Valid values: dates tag = ExifTag('Exif.GPSInfo.GPSDateStamp') self.assertEqual(tag.type, 'Ascii') self.assertEqual(tag._convert_to_string(datetime.date(2009, 3, 1)), '2009:03:01') self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)), '1899:12:31') # Valid values: strings tag = ExifTag('Exif.Image.Copyright') self.assertEqual(tag.type, 'Ascii') self.assertEqual(tag._convert_to_string('Some text'), 'Some text') self.assertEqual( tag._convert_to_string('Some text with exotic chàräctérʐ.'), 'Some text with exotic chàräctérʐ.')
def test_convert_to_string_comment(self): # Valid values tag = ExifTag("Exif.Photo.UserComment") self.assertEqual(tag.type, "Comment") self.assertEqual(tag._convert_to_string("A comment"), "A comment") self.assertEqual(tag._convert_to_string(u"A comment"), "A comment") charsets = ("Ascii", "Jis", "Unicode", "Undefined") for charset in charsets: tag.raw_value = 'charset="%s" foo' % charset self.assertEqual(tag._convert_to_string("A comment"), 'charset="%s" A comment' % charset) self.assertEqual(tag._convert_to_string("déjà vu"), "déjà vu") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
def test_convert_to_string_comment(self): # Valid values tag = ExifTag('Exif.Photo.UserComment') self.assertEqual(tag.type, 'Comment') self.assertEqual(tag._convert_to_string('A comment'), 'A comment') self.assertEqual(tag._convert_to_string(u'A comment'), 'A comment') charsets = ('Ascii', 'Jis', 'Unicode', 'Undefined') for charset in charsets: tag.raw_value = 'charset="%s" foo' % charset self.assertEqual(tag._convert_to_string('A comment'), 'charset="%s" A comment' % charset) self.assertEqual(tag._convert_to_string('déjà vu'), 'déjà vu') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
def test_convert_to_string_ascii(self): # Valid values: datetimes tag = ExifTag("Exif.Image.DateTime") self.assertEqual(tag.type, "Ascii") self.assertEqual(tag._convert_to_string(datetime.datetime(2009, 03, 01, 12, 54, 28)), "2009:03:01 12:54:28") self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)), "2009:03:01 00:00:00") # Valid values: dates tag = ExifTag("Exif.GPSInfo.GPSDateStamp") self.assertEqual(tag.type, "Ascii") self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)), "2009:03:01") # Valid values: strings tag = ExifTag("Exif.Image.Copyright") self.assertEqual(tag.type, "Ascii") self.assertEqual(tag._convert_to_string(u"Some text"), "Some text") self.assertEqual( tag._convert_to_string(u"Some text with exotic chàräctérʐ."), "Some text with exotic chàräctérʐ." ) self.assertEqual( tag._convert_to_string("Some text with exotic chàräctérʐ."), "Some text with exotic chàräctérʐ." ) # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
def test_convert_to_string_rational(self): # Valid values tag = ExifTag("Exif.Image.XResolution") self.assertEqual(tag.type, "Rational") self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), "5/3") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid") self.failUnlessRaises(ExifValueError, tag._convert_to_string, make_fraction(-5, 3))
def test_convert_to_string_short(self): # Valid values tag = ExifTag('Exif.Image.BitsPerSample') self.assertEqual(tag.type, 'Short') self.assertEqual(tag._convert_to_string(123), '123') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57) self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid') self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_sshort(self): # Valid values tag = ExifTag('Exif.Image.TimeZoneOffset') self.assertEqual(tag.type, 'SShort') self.assertEqual(tag._convert_to_string(12), '12') self.assertEqual(tag._convert_to_string(-3), '-3') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid') self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_rational(self): # Valid values tag = ExifTag('Exif.Image.XResolution') self.assertEqual(tag.type, 'Rational') self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), '5/3') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid') self.failUnlessRaises(ExifValueError, tag._convert_to_string, make_fraction(-5, 3))
def test_convert_to_string_sshort(self): # Valid values tag = ExifTag("Exif.Image.TimeZoneOffset") self.assertEqual(tag.type, "SShort") self.assertEqual(tag._convert_to_string(12), "12") self.assertEqual(tag._convert_to_string(-3), "-3") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid") self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_short(self): # Valid values tag = ExifTag("Exif.Image.BitsPerSample") self.assertEqual(tag.type, "Short") self.assertEqual(tag._convert_to_string(123), "123") # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57) self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid") self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
def test_convert_to_string_ascii(self): # Valid values: datetimes tag = ExifTag('Exif.Image.DateTime') self.assertEqual(tag.type, 'Ascii') self.assertEqual(tag._convert_to_string(datetime.datetime(2009, 03, 01, 12, 54, 28)), '2009:03:01 12:54:28') self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)), '2009:03:01 00:00:00') self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59)), '1899:12:31 23:59:59') self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)), '1899:12:31 00:00:00') # Valid values: dates tag = ExifTag('Exif.GPSInfo.GPSDateStamp') self.assertEqual(tag.type, 'Ascii') self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)), '2009:03:01') self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)), '1899:12:31') # Valid values: strings tag = ExifTag('Exif.Image.Copyright') self.assertEqual(tag.type, 'Ascii') self.assertEqual(tag._convert_to_string(u'Some text'), 'Some text') self.assertEqual(tag._convert_to_string(u'Some text with exotic chàräctérʐ.'), 'Some text with exotic chàräctérʐ.') self.assertEqual(tag._convert_to_string('Some text with exotic chàräctérʐ.'), 'Some text with exotic chàräctérʐ.') # Invalid values self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)