[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