[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