From: Hanno S. <svn...@pl...> - 2008-01-17 23:32:48
|
Author: hannosch Date: Thu Jan 17 23:32:53 2008 New Revision: 18979 Modified: plone.i18n/trunk/docs/HISTORY.txt plone.i18n/trunk/plone/i18n/normalizer/__init__.py plone.i18n/trunk/plone/i18n/normalizer/tests/test_normalizer.py Log: Wrote tests for the locale-aware id normalizer and fixed a bug in it. Modified: plone.i18n/trunk/docs/HISTORY.txt ============================================================================== --- plone.i18n/trunk/docs/HISTORY.txt (original) +++ plone.i18n/trunk/docs/HISTORY.txt Thu Jan 17 23:32:53 2008 @@ -4,6 +4,9 @@ plone.i18n - 1.0.3 Unreleased + - Wrote tests for the locale-aware id normalizer and fixed a bug in it. + [hannosch] + - Added more tests. [hannosch] Modified: plone.i18n/trunk/plone/i18n/normalizer/__init__.py ============================================================================== --- plone.i18n/trunk/plone/i18n/normalizer/__init__.py (original) +++ plone.i18n/trunk/plone/i18n/normalizer/__init__.py Thu Jan 17 23:32:53 2008 @@ -58,12 +58,12 @@ """ if locale is not None: # Try to get a normalizer for the locale - util = queryUtility(IDNormalizer, name=locale) + util = queryUtility(IIDNormalizer, name=locale) parts = locale.split('_') if util is None and len(parts) > 1: # Try to get a normalizer for the base language if we asked # for one for a language/country combination and found none - util = queryUtility(IDNormalizer, name=parts[0]) + util = queryUtility(IIDNormalizer, name=parts[0]) if util is not None: text = util.normalize(text, locale=locale) Modified: plone.i18n/trunk/plone/i18n/normalizer/tests/test_normalizer.py ============================================================================== --- plone.i18n/trunk/plone/i18n/normalizer/tests/test_normalizer.py (original) +++ plone.i18n/trunk/plone/i18n/normalizer/tests/test_normalizer.py Thu Jan 17 23:32:53 2008 @@ -61,7 +61,40 @@ >>> util.normalize(testString) 'this-sentence-is-way-to-long-but-can-be-cropped-by' >>> len(util.normalize(testString)) <= MAX_LENGTH - True + True + """ + + +def testLocaleAwareIDNormalizer(): + """ + >>> util = queryUtility(IIDNormalizer) + >>> util + <plone.i18n.normalizer.IDNormalizer object at ...> + + Register the German file name normalizer as an id normalizer as well, to + test the locale-aware id normalization logic: + + >>> de_util = queryUtility(IFileNameNormalizer, name='de') + >>> sm = zope.component.getGlobalSiteManager() + >>> sm.registerUtility(de_util, IIDNormalizer, name='de') + + >>> util.normalize(u'simpleandsafe', locale='de') + 'simpleandsafe' + + >>> util.normalize(unicode('text with umläut', 'utf-8'), locale='de') + 'text-with-umlaeut' + + Make sure we get the de normalizer as there's no special one for de_DE + registered. + + >>> util.normalize(unicode('text with umläut', 'utf-8'), locale='de_DE') + 'text-with-umlaeut' + + >>> util.normalize(u'simpleandsafe', locale='pt_BR') + 'simpleandsafe' + + >>> util.normalize(u'simpleandsafe', locale='sr@Latn') + 'simpleandsafe' """ @@ -99,9 +132,9 @@ def testLocaleAwareFileNameNormalizer(): """ - >>> util = queryUtility(IFileNameNormalizer) - >>> util - <plone.i18n.normalizer.FileNameNormalizer object at ...> + >>> util = queryUtility(IFileNameNormalizer) + >>> util + <plone.i18n.normalizer.FileNameNormalizer object at ...> >>> util.normalize(u'simpleandsafe', locale='de') 'simpleandsafe' @@ -185,6 +218,7 @@ DocTestSuite('plone.i18n.normalizer'), DocTestSuite('plone.i18n.normalizer.de'), DocTestSuite('plone.i18n.normalizer.el'), + DocTestSuite('plone.i18n.normalizer.pl'), DocTestSuite('plone.i18n.normalizer.ru'), DocTestSuite('plone.i18n.normalizer.tr'), DocTestSuite(setUp=configurationSetUp, |