[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - avoid conflicts between unicode messages and encoded non-ASCII strings
Yvo Schubbe
y.2011 at wcm-solutions.de
Tue Jul 12 12:03:03 EDT 2011
Log message for revision 122160:
- avoid conflicts between unicode messages and encoded non-ASCII strings
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
U Products.CMFDefault/trunk/Products/CMFDefault/DublinCore.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt
U Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Link.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt 2011-07-12 15:26:33 UTC (rev 122159)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt 2011-07-12 16:03:03 UTC (rev 122160)
@@ -4,6 +4,9 @@
2.3.0-alpha (unreleased)
------------------------
+- DublinCore: 'getMetadataHeaders' now returns the Type ID, not the Type title.
+ This avoids conflicts between unicode messages and encoded non-ASCII strings.
+
- Only test reStructuredText functionality under Zope 2.13 and before.
- Document: Improved 'manage_FTPget' method.
Modified: Products.CMFDefault/trunk/Products/CMFDefault/DublinCore.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/DublinCore.py 2011-07-12 15:26:33 UTC (rev 122159)
+++ Products.CMFDefault/trunk/Products/CMFDefault/DublinCore.py 2011-07-12 16:03:03 UTC (rev 122160)
@@ -334,7 +334,7 @@
hdrlist.append( ( 'Contributors', '; '.join( self.Contributors() ) ) )
hdrlist.append( ( 'Effective_date', self.EffectiveDate() ) )
hdrlist.append( ( 'Expiration_date', self.ExpirationDate() ) )
- hdrlist.append( ( 'Type', self.Type() ) )
+ hdrlist.append( ( 'Type', self.getPortalTypeName() or 'Unknown' ) )
hdrlist.append( ( 'Format', self.Format() ) )
hdrlist.append( ( 'Language', self.Language() ) )
hdrlist.append( ( 'Rights', self.Rights() ) )
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt 2011-07-12 15:26:33 UTC (rev 122159)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt 2011-07-12 16:03:03 UTC (rev 122160)
@@ -129,7 +129,7 @@
<meta name="Contributors" content="" />
<meta name="Effective_date" content="None" />
<meta name="Expiration_date" content="None" />
- <meta name="Type" content="[[cmf_default][Document]]" />
+ <meta name="Type" content="Document" />
<meta name="Format" content="text/html" />
<meta name="Language" content="" />
<meta name="Rights" content="" />
Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Link.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Link.py 2011-07-12 15:26:33 UTC (rev 122159)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Link.py 2011-07-12 16:03:03 UTC (rev 122160)
@@ -102,6 +102,36 @@
self.canonTest(table)
+class LinkGETTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from Products.CMFDefault.Link import Link
+
+ return Link
+
+ def _makeOne(self, *args, **kw):
+ return self._getTargetClass()(*args, **kw)
+
+ def test_manage_FTPget_empty(self):
+ LINES = ['Title: ', 'Subject: ', 'Publisher: No publisher',
+ 'Description: ', 'Contributors: ', 'Effective_date: None',
+ 'Expiration_date: None', 'Type: Unknown',
+ 'Format: text/url', 'Language: ', 'Rights: ', '']
+ d = self._makeOne('foo')
+ self.assertEqual(d.manage_FTPget().splitlines(), LINES)
+
+ def test_manage_FTPget_nonascii(self):
+ NONASCII = u'B\xe4r'.encode('utf-8')
+ LINES = ['Title: %s' % NONASCII, 'Subject: ',
+ 'Publisher: No publisher', 'Description: ', 'Contributors: ',
+ 'Effective_date: None', 'Expiration_date: None',
+ 'Type: Unknown', 'Format: text/url', 'Language: ', 'Rights: ',
+ '']
+ d = self._makeOne('foo')
+ d.setTitle(NONASCII)
+ self.assertEqual(d.manage_FTPget().splitlines(), LINES)
+
+
class LinkPUTTests(unittest.TestCase):
def _getTargetClass(self):
@@ -153,5 +183,6 @@
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(LinkTests),
+ unittest.makeSuite(LinkGETTests),
unittest.makeSuite(LinkPUTTests),
))
More information about the checkins
mailing list