[Checkins] SVN: zope.contenttype/trunk/src/zope/contenttype/tests/test_parse.py Don't import module-under-test at global scope.

Tres Seaver tseaver at palladion.com
Sun Sep 12 11:43:47 EDT 2010


Log message for revision 116334:
  Don't import module-under-test at global scope.

Changed:
  U   zope.contenttype/trunk/src/zope/contenttype/tests/test_parse.py

-=-
Modified: zope.contenttype/trunk/src/zope/contenttype/tests/test_parse.py
===================================================================
--- zope.contenttype/trunk/src/zope/contenttype/tests/test_parse.py	2010-09-12 14:53:39 UTC (rev 116333)
+++ zope.contenttype/trunk/src/zope/contenttype/tests/test_parse.py	2010-09-12 15:43:46 UTC (rev 116334)
@@ -12,188 +12,192 @@
 #
 ##############################################################################
 """Tests of the contenttype helpers.
-
 """
-__docformat__ = "reStructuredText"
-
-import re
 import unittest
 
-from zope.contenttype import parse
 
-
 class ParseOrderedTestCase(unittest.TestCase):
 
     empty_params = []
 
     def setUp(self):
+        from zope.contenttype import parse
         self.parse = parse.parseOrdered
 
+    def _callFUT(self, *args, **kw):
+        from zope.contenttype.parse import parseOrdered
+        return parseOrdered(*args, **kw)
+
     def oneParam(self, name, value):
         return [(name, value)]
 
     def test_without_params(self):
-        self.assertEqual(self.parse("text/plain"),
+        self.assertEqual(self._callFUT("text/plain"),
                          ("text", "plain", self.empty_params))
-        self.assertEqual(self.parse("TEXT/PLAIN"),
+        self.assertEqual(self._callFUT("TEXT/PLAIN"),
                          ("text", "plain", self.empty_params))
-        self.assertEqual(self.parse("TeXt / PlaIN"),
+        self.assertEqual(self._callFUT("TeXt / PlaIN"),
                          ("text", "plain", self.empty_params))
-        self.assertEqual(self.parse("text / vnd.wap.wml"),
+        self.assertEqual(self._callFUT("text / vnd.wap.wml"),
                          ("text", "vnd.wap.wml", self.empty_params))
 
     def test_with_empty_params(self):
-        self.assertEqual(self.parse("text/plain ; "),
+        self.assertEqual(self._callFUT("text/plain ; "),
                          ("text", "plain", self.empty_params))
-        self.assertEqual(self.parse("TEXT/PLAIN ;   "),
+        self.assertEqual(self._callFUT("TEXT/PLAIN ;   "),
                          ("text", "plain", self.empty_params))
-        self.assertEqual(self.parse("TeXt / PlaIN ; "),
+        self.assertEqual(self._callFUT("TeXt / PlaIN ; "),
                          ("text", "plain", self.empty_params))
 
     def test_bad_tokens(self):
         self.assertRaises(ValueError,
-                          self.parse, "text stuff/plain")
+                          self._callFUT, "text stuff/plain")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain stuff")
+                          self._callFUT, "text/plain stuff")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain;some stuff=foo")
+                          self._callFUT, "text/plain;some stuff=foo")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain;a=b;c d=e")
+                          self._callFUT, "text/plain;a=b;c d=e")
 
     def test_missing_parts(self):
         self.assertRaises(ValueError,
-                          self.parse, "text ; params")
+                          self._callFUT, "text ; params")
         self.assertRaises(ValueError,
-                          self.parse, "text/ ; params")
+                          self._callFUT, "text/ ; params")
         self.assertRaises(ValueError,
-                          self.parse, "/plain ; params")
+                          self._callFUT, "/plain ; params")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain ; params")
+                          self._callFUT, "text/plain ; params")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain ; params=")
+                          self._callFUT, "text/plain ; params=")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain ; =params")
+                          self._callFUT, "text/plain ; =params")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain ; a=b; params")
+                          self._callFUT, "text/plain ; a=b; params")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain ; a=b; params=")
+                          self._callFUT, "text/plain ; a=b; params=")
         self.assertRaises(ValueError,
-                          self.parse, "text/plain ; a=b; =params")
+                          self._callFUT, "text/plain ; a=b; =params")
 
     def test_single_parameter(self):
-        self.assertEqual(self.parse("text/plain;charset=UTF-8"),
+        self.assertEqual(self._callFUT("text/plain;charset=UTF-8"),
                          ("text", "plain", self.oneParam("charset", "UTF-8")))
-        self.assertEqual(self.parse("text/plain ;\tcharset = UTF-8"),
+        self.assertEqual(self._callFUT("text/plain ;\tcharset = UTF-8"),
                          ("text", "plain", self.oneParam("charset", "UTF-8")))
         # quoted-string parameter values
-        self.assertEqual(self.parse('text/plain;charset="UTF-8"'),
+        self.assertEqual(self._callFUT('text/plain;charset="UTF-8"'),
                          ("text", "plain", self.oneParam("charset", "UTF-8")))
-        self.assertEqual(self.parse('text/plain ;\tcharset = "UTF-8"'),
+        self.assertEqual(self._callFUT('text/plain ;\tcharset = "UTF-8"'),
                          ("text", "plain", self.oneParam("charset", "UTF-8")))
 
     def test_multiple_parameters(self):
         self.assertEqual(
-            self.parse("text/plain;charset=utf-8;format=flowed"),
+            self._callFUT("text/plain;charset=utf-8;format=flowed"),
             ("text", "plain", [("charset", "utf-8"), ("format", "flowed")]))
         self.assertEqual(
-            self.parse('text/plain;charset=utf-8;format="flowed"'),
+            self._callFUT('text/plain;charset=utf-8;format="flowed"'),
             ("text", "plain", [("charset", "utf-8"), ("format", "flowed")]))
 
     def test_quoted_strings(self):
         p = self.oneParam("c", " This [] has <> ? other () chars\t")
         self.assertEqual(
-            self.parse('a/b;c= " This [] has <> ? other () chars\t" '),
+            self._callFUT('a/b;c= " This [] has <> ? other () chars\t" '),
             ("a", "b", p))
         self.assertEqual(
-            self.parse('a/b;c=""'),
+            self._callFUT('a/b;c=""'),
             ("a", "b", self.oneParam("c", "")))
         self.assertEqual(
-            self.parse(r'a/b;c="\\\""'),
+            self._callFUT(r'a/b;c="\\\""'),
             ("a", "b", self.oneParam("c", r'\"')))
 
 class ParseTestCase(ParseOrderedTestCase):
 
     empty_params = {}
 
-    def setUp(self):
-        self.parse = parse.parse
+    def _callFUT(self, *args, **kw):
+        from zope.contenttype.parse import parse
+        return parse(*args, **kw)
 
     def oneParam(self, name, value):
         return {name: value}
 
     def test_multiple_parameters(self):
         self.assertEqual(
-            self.parse("text/plain;charset=utf-8;format=flowed"),
+            self._callFUT("text/plain;charset=utf-8;format=flowed"),
             ("text", "plain", {"charset": "utf-8", "format": "flowed"}))
         self.assertEqual(
-            self.parse('text/plain;charset=utf-8;format="flowed"'),
+            self._callFUT('text/plain;charset=utf-8;format="flowed"'),
             ("text", "plain", {"charset": "utf-8", "format": "flowed"}))
 
 
 class JoinTestCase(unittest.TestCase):
 
+    def _callFUT(self, *args, **kw):
+        from zope.contenttype.parse import join
+        return join(*args, **kw)
+
     def test_without_params(self):
-        self.assertEqual(parse.join(("text", "plain", [])),
+        self.assertEqual(self._callFUT(("text", "plain", [])),
                          "text/plain")
-        self.assertEqual(parse.join(("text", "plain", {})),
+        self.assertEqual(self._callFUT(("text", "plain", {})),
                          "text/plain")
 
     def test_single_token_param(self):
         self.assertEqual(
-            parse.join(("text", "plain", [("charset", "UTF-8")])),
+            self._callFUT(("text", "plain", [("charset", "UTF-8")])),
             "text/plain;charset=UTF-8")
         self.assertEqual(
-            parse.join(("text", "plain", {"charset": "UTF-8"})),
+            self._callFUT(("text", "plain", {"charset": "UTF-8"})),
             "text/plain;charset=UTF-8")
 
     def test_multi_params_list_maintains_order(self):
         # multiple parameters given as a list maintain order:
         self.assertEqual(
-            parse.join(("text", "plain",
+            self._callFUT(("text", "plain",
                               [("charset", "UTF-8"), ("format", "flowed")])),
             "text/plain;charset=UTF-8;format=flowed")
         self.assertEqual(
-            parse.join(("text", "plain",
+            self._callFUT(("text", "plain",
                               [("format", "flowed"), ("charset", "UTF-8")])),
             "text/plain;format=flowed;charset=UTF-8")
 
     def test_multi_params_dict_sorted_order(self):
         # multiple parameters given as a dict are sorted by param name:
         self.assertEqual(
-            parse.join(("text", "plain",
+            self._callFUT(("text", "plain",
                               {"charset": "UTF-8", "format": "flowed"})),
             "text/plain;charset=UTF-8;format=flowed")
 
     def test_params_list_quoted(self):
         # parameter values are quoted automatically:
-        self.assertEqual(parse.join(("a", "b", [("c", "")])),
+        self.assertEqual(self._callFUT(("a", "b", [("c", "")])),
                          'a/b;c=""')
-        self.assertEqual(parse.join(("a", "b", [("c", "ab cd")])),
+        self.assertEqual(self._callFUT(("a", "b", [("c", "ab cd")])),
                          'a/b;c="ab cd"')
-        self.assertEqual(parse.join(("a", "b", [("c", " \t")])),
+        self.assertEqual(self._callFUT(("a", "b", [("c", " \t")])),
                          'a/b;c=" \t"')
-        self.assertEqual(parse.join(("a", "b", [("c", '"')])),
+        self.assertEqual(self._callFUT(("a", "b", [("c", '"')])),
                          r'a/b;c="\""')
-        self.assertEqual(parse.join(("a", "b", [("c", "\n")])),
+        self.assertEqual(self._callFUT(("a", "b", [("c", "\n")])),
                          'a/b;c="\\\n"')
 
     def test_params_dict_quoted(self):
         # parameter values are quoted automatically:
-        self.assertEqual(parse.join(("a", "b", {"c": ""})),
+        self.assertEqual(self._callFUT(("a", "b", {"c": ""})),
                          'a/b;c=""')
-        self.assertEqual(parse.join(("a", "b", {"c": "ab cd"})),
+        self.assertEqual(self._callFUT(("a", "b", {"c": "ab cd"})),
                          'a/b;c="ab cd"')
-        self.assertEqual(parse.join(("a", "b", {"c": " \t"})),
+        self.assertEqual(self._callFUT(("a", "b", {"c": " \t"})),
                          'a/b;c=" \t"')
-        self.assertEqual(parse.join(("a", "b", {"c": '"'})),
+        self.assertEqual(self._callFUT(("a", "b", {"c": '"'})),
                          r'a/b;c="\""')
-        self.assertEqual(parse.join(("a", "b", {"c": "\n"})),
+        self.assertEqual(self._callFUT(("a", "b", {"c": "\n"})),
                          'a/b;c="\\\n"')
 
 
 def test_suite():
-    suite = unittest.TestSuite()
-    suite.addTest(unittest.makeSuite(ParseOrderedTestCase))
-    suite.addTest(unittest.makeSuite(ParseTestCase))
-    suite.addTest(unittest.makeSuite(JoinTestCase))
-    return suite
+    return unittest.TestSuite((
+        unittest.makeSuite(ParseOrderedTestCase),
+        unittest.makeSuite(ParseTestCase),
+        unittest.makeSuite(JoinTestCase),
+    ))



More information about the checkins mailing list