From: hannosch <svn...@pl...> - 2006-08-31 03:01:06
|
Author: hannosch Date: Thu Aug 31 03:00:58 2006 New Revision: 10710 Added: plone.app.i18n/trunk/plone/app/i18n/locales/tests/countries.txt (contents, props changed) plone.app.i18n/trunk/plone/app/i18n/locales/tests/paitestcase.py (contents, props changed) plone.app.i18n/trunk/plone/app/i18n/profiles/default/toolset.xml (contents, props changed) plone.app.i18n/trunk/plone/app/i18n/tool.gif (contents, props changed) Modified: plone.app.i18n/trunk/plone.app.i18n.egg-info/PKG-INFO plone.app.i18n/trunk/plone.app.i18n.egg-info/SOURCES.txt plone.app.i18n/trunk/plone/app/i18n/__init__.py plone.app.i18n/trunk/plone/app/i18n/locales/countries.py plone.app.i18n/trunk/plone/app/i18n/locales/tests/test_countries.py plone.app.i18n/trunk/plone/app/i18n/profiles/default/sitemanager.xml Log: Turned the countries utility into a real persistent object and registered that object as a utility instead of a global module level one. Refactored tests a bit to work better with the layered PTC, still two problems with the test setup to resolve. Modified: plone.app.i18n/trunk/plone.app.i18n.egg-info/PKG-INFO ============================================================================== --- plone.app.i18n/trunk/plone.app.i18n.egg-info/PKG-INFO (original) +++ plone.app.i18n/trunk/plone.app.i18n.egg-info/PKG-INFO Thu Aug 31 03:00:58 2006 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: plone.app.i18n -Version: 0.1dev-r10565 +Version: 0.1dev-r10705 Summary: Plone specific i18n extensions. Home-page: http://svn.plone.org/svn/plone/plone.app.i18n Author: Plone Foundation Modified: plone.app.i18n/trunk/plone.app.i18n.egg-info/SOURCES.txt ============================================================================== --- plone.app.i18n/trunk/plone.app.i18n.egg-info/SOURCES.txt (original) +++ plone.app.i18n/trunk/plone.app.i18n.egg-info/SOURCES.txt Thu Aug 31 03:00:58 2006 @@ -18,10 +18,14 @@ plone/app/i18n/__init__.py plone/app/i18n/configure.zcml plone/app/i18n/dependencies.zcml +plone/app/i18n/tool.gif plone/app/i18n/locales/__init__.py plone/app/i18n/locales/configure.zcml plone/app/i18n/locales/countries.py plone/app/i18n/locales/interfaces.py plone/app/i18n/locales/tests/__init__.py +plone/app/i18n/locales/tests/countries.txt +plone/app/i18n/locales/tests/paitestcase.py plone/app/i18n/locales/tests/test_countries.py plone/app/i18n/profiles/default/sitemanager.xml +plone/app/i18n/profiles/default/toolset.xml Modified: plone.app.i18n/trunk/plone/app/i18n/__init__.py ============================================================================== --- plone.app.i18n/trunk/plone/app/i18n/__init__.py (original) +++ plone.app.i18n/trunk/plone/app/i18n/__init__.py Thu Aug 31 03:00:58 2006 @@ -1,10 +1,24 @@ +from Products.CMFCore.utils import ToolInit from Products.CMFPlone.interfaces import IPloneSiteRoot from Products.GenericSetup import EXTENSION, profile_registry +from plone.app.i18n.locales.countries import Countries + +tools = (Countries,) + def initialize(context): """Intializer called when used as a Zope 2 product.""" - profile_registry.registerProfile('default', + ToolInit('plone.app.i18n', + tools=tools, + icon='tool.gif', + ).initialize(context) + +# XXX this needs to move back into initialize, but right now this doesn't +# play nicely with the layered test setup, as the initialize method is +# called more than once, but has a side-effect that is not cleaned up by the +# CA cleanUp call +profile_registry.registerProfile('default', 'plone.app.i18n default profile', 'Extension profile including plone.app.i18n configuration.', 'profiles/default', Modified: plone.app.i18n/trunk/plone/app/i18n/locales/countries.py ============================================================================== --- plone.app.i18n/trunk/plone/app/i18n/locales/countries.py (original) +++ plone.app.i18n/trunk/plone/app/i18n/locales/countries.py Thu Aug 31 03:00:58 2006 @@ -18,6 +18,10 @@ """ implements(ICountries) + id = 'plone_app_countries' + title = 'Manages available countries' + meta_type = 'Plone App I18N Countries' + def __init__(self): self.countries = ['en'] @@ -31,5 +35,3 @@ """ if isinstance(countries, list): self.countries = countries - -countries = Countries() \ No newline at end of file Added: plone.app.i18n/trunk/plone/app/i18n/locales/tests/countries.txt ============================================================================== --- (empty file) +++ plone.app.i18n/trunk/plone/app/i18n/locales/tests/countries.txt Thu Aug 31 03:00:58 2006 @@ -0,0 +1,31 @@ +Country tests. + + >>> from plone.app.i18n.locales.interfaces import ICountries + >>> from zope.component import queryUtility + + # XXX We need the site to be set up during GS site creation ... trick for now + >>> from zope.component import getSiteManager + >>> sm = getSiteManager() + >>> sm.registerUtility(self.portal.plone_app_countries, ICountries) + + >>> util = queryUtility(ICountries) + >>> util + <Countries at ...> + + >>> countrycodes = util.getAvailableCountries() + >>> len(countrycodes) + 1 + + >>> u'en' in countrycodes + True + + >>> countries = util.getCountries() + >>> len(countries) + 243 + + >>> de = countries[u'de'] + >>> de[u'name'] + u'Germany' + + >>> de[u'flag'] + u'/@@/country-flags/de.gif' Added: plone.app.i18n/trunk/plone/app/i18n/locales/tests/paitestcase.py ============================================================================== --- (empty file) +++ plone.app.i18n/trunk/plone/app/i18n/locales/tests/paitestcase.py Thu Aug 31 03:00:58 2006 @@ -0,0 +1,25 @@ +# +# PAITestCase +# + +from Products.PloneTestCase.ptc import * + +from zope.app.component.hooks import setSite, clearSite, setHooks + +installProduct('GSLocalAddons') +setupPloneSite( + extension_profiles=['Products.GSLocalAddons:default', + 'plone.app.i18n:default']) + +class PAITestCase(PloneTestCase): + + def afterSetUp(self): + setHooks() + setSite(self.portal) + + def beforeTearDown(self): + clearSite() + +class FunctionalTestCase(Functional, PAITestCase): + """This is a stub. + """ Modified: plone.app.i18n/trunk/plone/app/i18n/locales/tests/test_countries.py ============================================================================== --- plone.app.i18n/trunk/plone/app/i18n/locales/tests/test_countries.py (original) +++ plone.app.i18n/trunk/plone/app/i18n/locales/tests/test_countries.py Thu Aug 31 03:00:58 2006 @@ -3,64 +3,24 @@ Country tests. """ +import paitestcase import unittest -from Testing import ZopeTestCase -from Products.PloneTestCase import PloneTestCase -from Testing.ZopeTestCase import ZopeDocTestSuite - -PloneTestCase.installProduct('GSLocalAddons') - -PloneTestCase.setupPloneSite( - extension_profiles=['Products.GSLocalAddons:default', - 'plone.app.i18n:default']) - -from plone.app.i18n.locales.interfaces import ICountries from zope.testing import doctest from zope.testing.doctestunit import DocTestSuite -def testAvailableCountries(): - """ - >>> from zope.app.component.hooks import setSite, clearSite, setHooks - >>> setHooks() - - >>> setSite(self.portal) - - >>> from zope.component import queryUtility - >>> from plone.app.i18n.locales.interfaces import ICountries - - >>> util = queryUtility(ICountries) - >>> util - <Countries at ...> +from Testing.ZopeTestCase import FunctionalDocFileSuite as Suite - >>> countrycodes = util.getAvailableCountries() - >>> len(countrycodes) - 1 - - >>> u'en' in countrycodes - True - - >>> countries = util.getCountries() - >>> len(countries) - 243 - - >>> de = countries[u'de'] - >>> de[u'name'] - u'Germany' - - >>> de[u'flag'] - u'/@@/country-flags/de.gif' - - >>> clearSite() - """ +OPTIONFLAGS = (doctest.REPORT_ONLY_FIRST_FAILURE | + doctest.ELLIPSIS | + doctest.NORMALIZE_WHITESPACE) def test_suite(): return unittest.TestSuite(( DocTestSuite('plone.app.i18n.locales.countries'), - ZopeDocTestSuite( - test_class=PloneTestCase.FunctionalTestCase, - optionflags=doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE) + Suite('countries.txt', + optionflags=OPTIONFLAGS, + package='plone.app.i18n.locales.tests', + test_class=paitestcase.FunctionalTestCase + ) )) - -if __name__ == '__main__': - unittest.main(defaultTest="test_suite") Modified: plone.app.i18n/trunk/plone/app/i18n/profiles/default/sitemanager.xml ============================================================================== --- plone.app.i18n/trunk/plone/app/i18n/profiles/default/sitemanager.xml (original) +++ plone.app.i18n/trunk/plone/app/i18n/profiles/default/sitemanager.xml Thu Aug 31 03:00:58 2006 @@ -1,7 +1,7 @@ <?xml version="1.0"?> <sitemanager> <utilities> - <utility component="plone.app.i18n.locales.countries.countries" - interface="plone.app.i18n.locales.interfaces.ICountries"/> + <utility object="/plone_app_countries" + interface="plone.app.i18n.locales.interfaces.ICountries"/> </utilities> </sitemanager> Added: plone.app.i18n/trunk/plone/app/i18n/profiles/default/toolset.xml ============================================================================== --- (empty file) +++ plone.app.i18n/trunk/plone/app/i18n/profiles/default/toolset.xml Thu Aug 31 03:00:58 2006 @@ -0,0 +1,5 @@ +<?xml version="1.0"?> +<tool-setup> + <required tool_id="plone_app_countries" + class="plone.app.i18n.locales.countries.Countries"/> +</tool-setup> Added: plone.app.i18n/trunk/plone/app/i18n/tool.gif ============================================================================== Binary file. No diff available. |