summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Madden <jamadden@gmail.com>2017-12-17 11:19:42 -0600
committerJason Madden <jamadden@gmail.com>2017-12-17 11:19:42 -0600
commit245e54e3fdfecd09ef49e9810d6ce4fca1e7b77d (patch)
tree3719a4130467be247aa0b5631716262b61210301
parent887ed3df5bcb0bf7650343bfa4209e71a12f3ab5 (diff)
downloadzope-i18n-245e54e3fdfecd09ef49e9810d6ce4fca1e7b77d.tar.gz
100% coverage for testing.py
-rw-r--r--docs/api.rst5
-rw-r--r--setup.py1
-rw-r--r--src/zope/i18n/testing.py43
-rw-r--r--src/zope/i18n/tests/test.py17
4 files changed, 42 insertions, 24 deletions
diff --git a/docs/api.rst b/docs/api.rst
index b185cae..f27d6a3 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -23,11 +23,6 @@ zope.i18n.compile
.. automodule:: zope.i18n.compile
-zope.i18n.config
-================
-
-.. automodule:: zope.i18n.config
-
zope.i18n.format
================
diff --git a/setup.py b/setup.py
index 1317d2b..3bd5e80 100644
--- a/setup.py
+++ b/setup.py
@@ -50,6 +50,7 @@ ZCML_REQUIRES = [
]
TESTS_REQUIRE = COMPILE_REQUIRES + ZCML_REQUIRES + [
+ 'zope.publisher',
'zope.testing',
'zope.testrunner',
]
diff --git a/src/zope/i18n/testing.py b/src/zope/i18n/testing.py
index 2a63da6..de5d0e4 100644
--- a/src/zope/i18n/testing.py
+++ b/src/zope/i18n/testing.py
@@ -11,21 +11,24 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Unit test logic for setting up and tearing down basic infrastructure
"""
-import sys
+Unit test logic for setting up and tearing down basic infrastructure.
+
+This relies on :mod:`zope.publisher` being available.
+"""
+
import re
+from zope.testing.cleanup import CleanUp
+from zope.testing import renormalizing
-if sys.version_info[0] == 2:
- import doctest
- unicode_checker = doctest.OutputChecker()
-else:
- from zope.testing import renormalizing
- rules = [(re.compile("u('.*?')"), r"\1"),
- (re.compile('u(".*?")'), r"\1"),
- ]
- unicode_checker = renormalizing.RENormalizing(rules)
+rules = []
+if bytes is not str:
+ rules = [
+ (re.compile("u('.*?')"), r"\1"),
+ (re.compile('u(".*?")'), r"\1"),
+ ]
+unicode_checker = renormalizing.RENormalizing(rules)
def setUp(test=None):
@@ -36,8 +39,22 @@ def setUp(test=None):
zope.component.provideAdapter(BrowserLanguages)
-class PlacelessSetup(object):
+class PlacelessSetup(CleanUp):
def setUp(self):
+ """
+ Install the language and charset negotiators.
+
+ >>> PlacelessSetup().setUp()
+ >>> from zope.publisher.browser import TestRequest
+ >>> from zope.i18n.interfaces import IUserPreferredCharsets
+ >>> from zope.i18n.interfaces import IUserPreferredLanguages
+ >>> from zope.component import getAdapter
+ >>> getAdapter(TestRequest(), IUserPreferredCharsets)
+ <zope.publisher.http.HTTPCharsets ...>
+ >>> getAdapter(TestRequest(), IUserPreferredLanguages)
+ <zope.publisher.browser.BrowserLanguages ...>
+
+ """
+ super(PlacelessSetup, self).setUp()
setUp()
-
diff --git a/src/zope/i18n/tests/test.py b/src/zope/i18n/tests/test.py
index 2e84b55..4fb4f4c 100644
--- a/src/zope/i18n/tests/test.py
+++ b/src/zope/i18n/tests/test.py
@@ -21,13 +21,18 @@ from zope.i18n.testing import unicode_checker
def test_suite():
+ options = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS
+ def suite(name):
+ return doctest.DocTestSuite(
+ name,
+ setUp=setUp, tearDown=tearDown,
+ optionflags=options,
+ checker=unicode_checker)
+
return unittest.TestSuite([
- doctest.DocTestSuite(
- "zope.i18n", setUp=setUp, tearDown=tearDown,
- checker=unicode_checker),
- doctest.DocTestSuite(
- "zope.i18n.config", setUp=setUp, tearDown=tearDown,
- checker=unicode_checker),
+ suite('zope.i18n'),
+ suite("zope.i18n.config"),
+ suite("zope.i18n.testing"),
])