If I understand, the goal is to specify the file encoding for the export. Do we really need this? Isn't UTF-8 good enough in all cases?

Florent

Tres Seaver wrote:
Log message for revision 38662:
  Improved unicode handling by adding 'getEncoding' to all contexts, export as 
well as import.

Changed:
  U   CMF/trunk/GenericSetup/context.py
  U   CMF/trunk/GenericSetup/interfaces.py
  U   CMF/trunk/GenericSetup/tests/test_context.py

-=-
Modified: CMF/trunk/GenericSetup/context.py
===================================================================
--- CMF/trunk/GenericSetup/context.py   2005-09-28 10:35:29 UTC (rev 38661)
+++ CMF/trunk/GenericSetup/context.py   2005-09-28 11:16:22 UTC (rev 38662)
@@ -46,11 +46,12 @@
security = ClassSecurityInfo() - def __init__( self, tool ):
+    def __init__( self, tool, encoding ):
[...]
+    def test_writeDataFile_simple_plain_text_unicode( self ):
+
+        from string import digits
+        from OFS.Image import File
+        FILENAME = 'simple.txt'
+        CONTENT_TYPE = 'text/plain'
+        CONTENT = u'Unicode, with non-ASCII: %s.' % unichr(150)
+
+        site = DummySite( 'site' ).__of__( self.root )
+        site.setup_tool = DummyTool( 'setup_tool' )
+        tool = site.setup_tool
+        ctx = self._makeOne( tool, 'simple', 'latin_1' )
+
+        ctx.writeDataFile( FILENAME, CONTENT, CONTENT_TYPE )
+
+        snapshot = tool.snapshots._getOb( 'simple' )
+
+        self.assertEqual( len( snapshot.objectIds() ), 1 )
+        self.failUnless( FILENAME in snapshot.objectIds() )
+
+        fileobj = snapshot._getOb( FILENAME )
+
+        self.assertEqual( fileobj.getId(), FILENAME )
+        self.assertEqual( fileobj.meta_type, File.meta_type )
+        self.assertEqual( fileobj.getContentType(), CONTENT_TYPE )
+        saved = fileobj.manage_FTPget().decode('latin_1')
+        self.assertEqual( saved, CONTENT )
+

--
Florent Guillaume, Nuxeo (Paris, France)   CTO, Director of R&D
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]
_______________________________________________
Zope-CMF maillist  -  Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to