[Erp5-report] r25405 - /erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py

nobody at svn.erp5.org nobody at svn.erp5.org
Sun Feb 1 11:46:17 CET 2009


Author: kazuhiko
Date: Sun Feb  1 11:46:16 2009
New Revision: 25405

URL: http://svn.erp5.org?rev=25405&view=rev
Log:
make it compatible with Localizer-1.2.

Modified:
    erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py

Modified: erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py?rev=25405&r1=25404&r2=25405&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py [utf8] Sun Feb  1 11:46:16 2009
@@ -27,12 +27,13 @@
 Products.ERP5Type.Utils.get_request = get_request
 Globals.get_request = get_request
 
-import itools.zope
-
-def get_context():
-  return current_app
-
-itools.zope.get_context = get_context
+try:
+  import itools.zope
+  def get_context():
+    return current_app
+  itools.zope.get_context = get_context
+except ImportError:
+  pass
 
 from Testing import ZopeTestCase
 from Testing.ZopeTestCase.PortalTestCase import PortalTestCase, user_name
@@ -96,6 +97,25 @@
 except ImportError:
   pass
 ZopeTestCase.installProduct('Localizer', quiet=install_product_quiet)
+try:
+  # Workaround Localizer >= 1.2 patch that doesn't work with
+  # ZopeTestCase REQUESTs (it's the same as iHotFix
+  from Products.Localizer import patches
+  from types import UnicodeType
+  # revert monkey patchs from Localizer
+  patches.get_request = get_request
+
+  class UnicodeSafeStringIO(patches.originalStringIO):
+    """StringIO like class which never fails with unicode."""
+    def write(self, s):
+      if isinstance(s, UnicodeType):
+        s = s.encode('utf8', 'repr')
+      patches.originalStringIO.write(self, s)
+  # Localizer will patch PageTemplate StringIO with
+  patches.LocalizerStringIO = UnicodeSafeStringIO
+except ImportError:
+  pass
+
 ZopeTestCase.installProduct('TimerService', quiet=install_product_quiet)
 
 # CMF
@@ -818,6 +838,10 @@
                             % title) # run_unit_test depends on this string.
         raise
 
+    def stepPdb(self, sequence=None, sequence_list=None):
+      import pdb; pdb.set_trace()
+      pass
+
     def publish(self, path, basic=None, env=None, extra=None,
                 request_method='GET', stdin=None, handle_errors=True):
         '''Publishes the object at 'path' returning a response object.'''




More information about the Erp5-report mailing list