diff options
author | Olivier Tilloy <olivier@tilloy.net> | 2011-08-04 09:10:46 +0200 |
---|---|---|
committer | Olivier Tilloy <olivier@tilloy.net> | 2011-08-04 09:10:46 +0200 |
commit | 234dbc462b15365e8909bffadf54b05649e77f3f (patch) | |
tree | 92a0c37460c2b141dc07025da175e30611f189cc | |
parent | 5d6fc27aa0dee1d9793b027a1215cc4c124cc7c9 (diff) | |
download | pyexiv2-234dbc462b15365e8909bffadf54b05649e77f3f.tar.gz |
Added some (failing) unit tests for date conversion for dates prior to year 1900.
-rw-r--r-- | test/exif.py | 6 | ||||
-rw-r--r-- | test/iptc.py | 16 | ||||
-rw-r--r-- | test/xmp.py | 20 |
3 files changed, 42 insertions, 0 deletions
diff --git a/test/exif.py b/test/exif.py index 38e19b7..10646db 100644 --- a/test/exif.py +++ b/test/exif.py @@ -79,12 +79,18 @@ class TestExifTag(unittest.TestCase): '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, 29)), + '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') diff --git a/test/iptc.py b/test/iptc.py index ec631cb..c207f5a 100644 --- a/test/iptc.py +++ b/test/iptc.py @@ -108,12 +108,18 @@ class TestIptcTag(unittest.TestCase): self.assertEqual(tag.type, 'Date') self.assertEqual(tag._convert_to_string(datetime.date(2009, 2, 4)), '2009-02-04') + self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)), + '1899-12-31') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13)), '1999-10-13') self.assertEqual(tag._convert_to_string(datetime.datetime(2009, 2, 4)), '2009-02-04') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31)), + '1899-12-31') self.assertEqual(tag._convert_to_string(datetime.datetime(2009, 2, 4, 10, 52, 37)), '2009-02-04') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59)), + '1899-12-31') # Invalid values self.failUnlessRaises(IptcValueError, tag._convert_to_string, 'invalid') @@ -152,14 +158,24 @@ class TestIptcTag(unittest.TestCase): '10:52:04+05:30') self.assertEqual(tag._convert_to_string(datetime.time(10, 52, 4, tzinfo=FixedOffset('-', 4, 0))), '10:52:04-04:00') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59)), + '23:59:59+00:00') self.assertEqual(tag._convert_to_string(datetime.datetime(2007, 2, 7, 10, 52, 4)), '10:52:04+00:00') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, 999)), + '23:59:59+00:00') self.assertEqual(tag._convert_to_string(datetime.datetime(2007, 2, 7, 10, 52, 4, 478)), '10:52:04+00:00') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, tzinfo=FixedOffset())), + '23:59:59+00:00') self.assertEqual(tag._convert_to_string(datetime.datetime(2007, 2, 7, 10, 52, 4, tzinfo=FixedOffset())), '10:52:04+00:00') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, tzinfo=FixedOffset('+', 5, 30))), + '23:59:59+05:30') self.assertEqual(tag._convert_to_string(datetime.datetime(2007, 2, 7, 10, 52, 4, tzinfo=FixedOffset('+', 5, 30))), '10:52:04+05:30') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, tzinfo=FixedOffset('-', 4, 0))), + '23:59:59-04:00') self.assertEqual(tag._convert_to_string(datetime.datetime(2007, 2, 7, 10, 52, 4, tzinfo=FixedOffset('-', 4, 0))), '10:52:04-04:00') diff --git a/test/xmp.py b/test/xmp.py index 532f1e2..7e7522e 100644 --- a/test/xmp.py +++ b/test/xmp.py @@ -134,32 +134,52 @@ class TestXmpTag(unittest.TestCase): self.assertEqual(tag.type, 'Date') self.assertEqual(tag._convert_to_string(datetime.date(2009, 2, 4), 'Date'), '2009-02-04') + self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31), 'Date'), + '1899-12-31') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13), 'Date'), '1999-10-13') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3), 'Date'), '1999-10-13T05:03Z') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59), 'Date'), + '1899-12-31T23:59Z') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, tzinfo=FixedOffset()), 'Date'), '1999-10-13T05:03Z') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, tzinfo=FixedOffset()), 'Date'), + '1899-12-31T23:59Z') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, tzinfo=FixedOffset('+', 5, 30)), 'Date'), '1999-10-13T05:03+05:30') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, tzinfo=FixedOffset('-', 11, 30)), 'Date'), '1999-10-13T05:03-11:30') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, tzinfo=FixedOffset('+', 5, 30)), 'Date'), + '1899-12-31T23:59+05:30') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27), 'Date'), '1999-10-13T05:03:27Z') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59), 'Date'), + '1899-12-31T23:59:59Z') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27, tzinfo=FixedOffset()), 'Date'), '1999-10-13T05:03:27Z') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, tzinfo=FixedOffset()), 'Date'), + '1899-12-31T23:59:59Z') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27, tzinfo=FixedOffset('+', 5, 30)), 'Date'), '1999-10-13T05:03:27+05:30') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27, tzinfo=FixedOffset('-', 11, 30)), 'Date'), '1999-10-13T05:03:27-11:30') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, tzinfo=FixedOffset('+', 5, 30)), 'Date'), + '1899-12-31T23:59:59+05:30') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27, 124300), 'Date'), '1999-10-13T05:03:27.1243Z') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, 124300), 'Date'), + '1899-12-31T23:59:59.1243Z') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27, 124300, tzinfo=FixedOffset()), 'Date'), '1999-10-13T05:03:27.1243Z') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, 124300, tzinfo=FixedOffset()), 'Date'), + '1899-12-31T23:59:59.1243Z') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27, 124300, tzinfo=FixedOffset('+', 5, 30)), 'Date'), '1999-10-13T05:03:27.1243+05:30') self.assertEqual(tag._convert_to_string(datetime.datetime(1999, 10, 13, 5, 3, 27, 124300, tzinfo=FixedOffset('-', 11, 30)), 'Date'), '1999-10-13T05:03:27.1243-11:30') + self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59, 124300, tzinfo=FixedOffset('+', 5, 30)), 'Date'), + '1899-12-31T23:59:59.1243+05:30') # Invalid values self.failUnlessRaises(XmpValueError, tag._convert_to_string, 'invalid', 'Date') self.failUnlessRaises(XmpValueError, tag._convert_to_string, None, 'Date') |