comparison babel/messages/tests/catalog.py @ 606:c5dd3752bf2a trunk

ensure .mo file header contains the same information as the source .po file (#199)
author fschwarz
date Mon, 27 Aug 2012 21:15:27 +0000
parents a661a0360248
children
comparison
equal deleted inserted replaced
605:6dc7e067bafc 606:c5dd3752bf2a
14 import copy 14 import copy
15 import datetime 15 import datetime
16 import doctest 16 import doctest
17 import unittest 17 import unittest
18 18
19 from babel.dates import format_datetime
19 from babel.messages import catalog 20 from babel.messages import catalog
21 from babel.util import FixedOffsetTimezone
20 22
21 23
22 class MessageTestCase(unittest.TestCase): 24 class MessageTestCase(unittest.TestCase):
23 25
24 def test_python_format(self): 26 def test_python_format(self):
280 "POT-Creation-Date: 2009-03-09 15:47-0700\n" + 282 "POT-Creation-Date: 2009-03-09 15:47-0700\n" +
281 "PO-Revision-Date: 2009-03-09 15:47-0700\n") 283 "PO-Revision-Date: 2009-03-09 15:47-0700\n")
282 for key, value in localized.mime_headers: 284 for key, value in localized.mime_headers:
283 if key in ('POT-Creation-Date', 'PO-Revision-Date'): 285 if key in ('POT-Creation-Date', 'PO-Revision-Date'):
284 self.assertEqual(value, '2009-03-09 15:47-0700') 286 self.assertEqual(value, '2009-03-09 15:47-0700')
287
288 def test_mime_headers_contain_same_information_as_attributes(self):
289 cat = catalog.Catalog()
290 cat[''] = catalog.Message('',
291 "Last-Translator: Foo Bar <foo.bar@example.com>\n" +
292 "Language-Team: de <de@example.com>\n" +
293 "POT-Creation-Date: 2009-03-01 11:20+0200\n" +
294 "PO-Revision-Date: 2009-03-09 15:47-0700\n")
295 self.assertEqual(None, cat.locale)
296 mime_headers = dict(cat.mime_headers)
297
298 self.assertEqual('Foo Bar <foo.bar@example.com>', cat.last_translator)
299 self.assertEqual('Foo Bar <foo.bar@example.com>',
300 mime_headers['Last-Translator'])
301
302 self.assertEqual('de <de@example.com>', cat.language_team)
303 self.assertEqual('de <de@example.com>', mime_headers['Language-Team'])
304
305 dt = datetime.datetime(2009, 3, 9, 15, 47, tzinfo=FixedOffsetTimezone(-7 * 60))
306 self.assertEqual(dt, cat.revision_date)
307 formatted_dt = format_datetime(dt, 'yyyy-MM-dd HH:mmZ', locale='en')
308 self.assertEqual(formatted_dt, mime_headers['PO-Revision-Date'])
309
285 310
286 def suite(): 311 def suite():
287 suite = unittest.TestSuite() 312 suite = unittest.TestSuite()
288 suite.addTest(doctest.DocTestSuite(catalog, optionflags=doctest.ELLIPSIS)) 313 suite.addTest(doctest.DocTestSuite(catalog, optionflags=doctest.ELLIPSIS))
289 suite.addTest(unittest.makeSuite(MessageTestCase)) 314 suite.addTest(unittest.makeSuite(MessageTestCase))
Copyright (C) 2012-2017 Edgewall Software