[Checkins] SVN: Products.MIMETools/trunk/ Get at least some tests
Hanno Schlichting
hannosch at hannosch.eu
Sat Jul 10 05:02:54 EDT 2010
Log message for revision 114468:
Get at least some tests
Changed:
U Products.MIMETools/trunk/CHANGES.txt
U Products.MIMETools/trunk/src/Products/MIMETools/MIMETag.py
A Products.MIMETools/trunk/src/Products/MIMETools/tests.py
-=-
Modified: Products.MIMETools/trunk/CHANGES.txt
===================================================================
--- Products.MIMETools/trunk/CHANGES.txt 2010-07-10 08:54:48 UTC (rev 114467)
+++ Products.MIMETools/trunk/CHANGES.txt 2010-07-10 09:02:53 UTC (rev 114468)
@@ -1,12 +1,9 @@
Changelog
=========
-2.13.1 (unreleased)
+2.13.0 (unreleased)
-------------------
-- Added missing namespace_packages declaration to setup.py.
+- PEP8 cleanup and added basic tests.
-2.13.0 (2010-06-19)
--------------------
-
- Released as separate package.
Modified: Products.MIMETools/trunk/src/Products/MIMETools/MIMETag.py
===================================================================
--- Products.MIMETools/trunk/src/Products/MIMETools/MIMETag.py 2010-07-10 08:54:48 UTC (rev 114467)
+++ Products.MIMETools/trunk/src/Products/MIMETools/MIMETag.py 2010-07-10 09:02:53 UTC (rev 114468)
@@ -14,7 +14,6 @@
from cStringIO import StringIO
import mimetools
-from DocumentTemplate.DT_Util import _tm
from DocumentTemplate.DT_Util import Eval
from DocumentTemplate.DT_Util import parse_params
from DocumentTemplate.DT_Util import ParseError
@@ -29,7 +28,7 @@
'x-uue', '7bit')
-class MIMETag:
+class MIMETag(object):
''''''
name='mime'
@@ -38,6 +37,7 @@
def __init__(self, blocks):
self.sections = []
+ self.multipart = 'mixed'
for tname, args, section in blocks:
if tname == 'mime':
@@ -127,6 +127,7 @@
mw = MimeWriter(IO)
outer = mw.startmultipartbody(self.multipart)
+ last = None
for x in self.sections:
a, b = x
if 'skip_expr' in a and a['skip_expr'].eval(md):
@@ -200,9 +201,11 @@
output.seek(0)
innerfile.write(output.read())
+ last = x
+
# XXX what if self.sections is empty ??? does it matter that
# mw.lastpart() is called right after mw.startmultipartbody() ?
- if x is self.sections[-1]:
+ if last is not None and last is self.sections[-1]:
mw.lastpart()
outer.seek(0)
Added: Products.MIMETools/trunk/src/Products/MIMETools/tests.py
===================================================================
--- Products.MIMETools/trunk/src/Products/MIMETools/tests.py (rev 0)
+++ Products.MIMETools/trunk/src/Products/MIMETools/tests.py 2010-07-10 09:02:53 UTC (rev 114468)
@@ -0,0 +1,42 @@
+##############################################################################
+#
+# Copyright (c) 2010 Zope Foundation and Contributors.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE
+#
+##############################################################################
+
+import unittest
+
+class MimeTest(unittest.TestCase):
+
+ def _makeOne(self, blocks=[]):
+ from Products.MIMETools import MIMETag
+ return MIMETag.MIMETag(blocks)
+
+ def test_init(self):
+ tag = self._makeOne()
+ self.assertEquals(tag.sections, [])
+
+ def test_render(self):
+ tag = self._makeOne()
+ result = tag.render(md={})
+ self.assert_("Mime-Version: 1.0" in result)
+ self.assert_("Content-Type: multipart/mixed;" in result)
+
+ def test_call(self):
+ tag = self._makeOne()
+ result = tag(md={})
+ self.assert_("Mime-Version: 1.0" in result)
+ self.assert_("Content-Type: multipart/mixed;" in result)
+
+
+def test_suite():
+ suite = unittest.TestSuite()
+ suite.addTest(unittest.makeSuite(MimeTest))
+ return suite
Property changes on: Products.MIMETools/trunk/src/Products/MIMETools/tests.py
___________________________________________________________________
Added: svn:eol-style
+ native
More information about the checkins
mailing list