summaryrefslogtreecommitdiff
path: root/src/zope/tal/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/tal/tests')
-rw-r--r--src/zope/tal/tests/markbench.py21
-rw-r--r--src/zope/tal/tests/run.py7
-rw-r--r--src/zope/tal/tests/test_files.py10
-rw-r--r--src/zope/tal/tests/test_htmltalparser.py11
-rw-r--r--src/zope/tal/tests/test_sourcepos.py14
-rw-r--r--src/zope/tal/tests/test_talgettext.py15
-rw-r--r--src/zope/tal/tests/test_talinterpreter.py68
-rw-r--r--src/zope/tal/tests/test_talparser.py2
-rw-r--r--src/zope/tal/tests/test_xmlparser.py10
-rw-r--r--src/zope/tal/tests/utils.py3
10 files changed, 59 insertions, 102 deletions
diff --git a/src/zope/tal/tests/markbench.py b/src/zope/tal/tests/markbench.py
index 6dafa74..f3ae0ad 100644
--- a/src/zope/tal/tests/markbench.py
+++ b/src/zope/tal/tests/markbench.py
@@ -15,18 +15,21 @@
"""Run benchmarks of TAL vs. DTML
"""
-from __future__ import print_function
-from zope.tal.dummyengine import DummyEngine
-from zope.tal.talinterpreter import TALInterpreter
-from zope.tal.htmltalparser import HTMLTALParser
-from cStringIO import StringIO
+
import errno
-import time
-import sys
import getopt
import os
-
+import sys
+import time
import warnings
+
+from cStringIO import StringIO
+
+from zope.tal.dummyengine import DummyEngine
+from zope.tal.htmltalparser import HTMLTALParser
+from zope.tal.talinterpreter import TALInterpreter
+
+
warnings.filterwarnings("ignore", category=DeprecationWarning)
os.environ['NO_SECURITY'] = 'true'
@@ -191,6 +194,6 @@ if __name__ == "__main__":
p.sort_stats('time', 'calls')
try:
p.print_stats(20)
- except IOError as e:
+ except OSError as e:
if e.errno != errno.EPIPE:
raise
diff --git a/src/zope/tal/tests/run.py b/src/zope/tal/tests/run.py
index 01a52c2..6e64e49 100644
--- a/src/zope/tal/tests/run.py
+++ b/src/zope/tal/tests/run.py
@@ -17,11 +17,12 @@
import sys
import unittest
-from zope.tal.tests import utils
-from zope.tal.tests import test_htmltalparser
-from zope.tal.tests import test_talinterpreter
from zope.tal.tests import test_files
+from zope.tal.tests import test_htmltalparser
from zope.tal.tests import test_sourcepos
+from zope.tal.tests import test_talinterpreter
+from zope.tal.tests import utils
+
# TODO this code isn't picked up by the Zope 3 test framework..
diff --git a/src/zope/tal/tests/test_files.py b/src/zope/tal/tests/test_files.py
index 9ecefd1..4393eb1 100644
--- a/src/zope/tal/tests/test_files.py
+++ b/src/zope/tal/tests/test_files.py
@@ -18,18 +18,12 @@ import glob
import os
import sys
import unittest
-
-try:
- # Python 2.x
- from cStringIO import StringIO
-except ImportError:
- # Python 3.x
- from io import StringIO
+from io import StringIO
import zope.tal.runtest
-
from zope.tal.tests import utils
+
HERE = os.path.abspath(os.path.dirname(__file__))
PARENTDIR = os.path.dirname(HERE)
PREFIX = os.path.join(HERE, "input", "test*.")
diff --git a/src/zope/tal/tests/test_htmltalparser.py b/src/zope/tal/tests/test_htmltalparser.py
index ba2770b..db5bd0c 100644
--- a/src/zope/tal/tests/test_htmltalparser.py
+++ b/src/zope/tal/tests/test_htmltalparser.py
@@ -16,7 +16,8 @@
import pprint
import unittest
-from zope.tal import htmltalparser, taldefs
+from zope.tal import htmltalparser
+from zope.tal import taldefs
class TestCaseBase(unittest.TestCase):
@@ -1057,11 +1058,3 @@ translated string</span>
('endScope', ()),
('rawtextColumn', ('</p>\n', 0))
])
-
-
-def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(HTMLTALParserTestCases),
- unittest.makeSuite(METALGeneratorTestCases),
- unittest.makeSuite(TALGeneratorTestCases),
- ))
diff --git a/src/zope/tal/tests/test_sourcepos.py b/src/zope/tal/tests/test_sourcepos.py
index bcbd909..f9a84d5 100644
--- a/src/zope/tal/tests/test_sourcepos.py
+++ b/src/zope/tal/tests/test_sourcepos.py
@@ -14,18 +14,12 @@
"""Tests for TALInterpreter.
"""
import unittest
+from io import StringIO
-try:
- # Python 2.x
- from StringIO import StringIO
-except ImportError:
- # Python 3.x
- from io import StringIO
-
+from zope.tal.dummyengine import DummyEngine
from zope.tal.htmltalparser import HTMLTALParser
-from zope.tal.talinterpreter import TALInterpreter
from zope.tal.talgenerator import TALGenerator
-from zope.tal.dummyengine import DummyEngine
+from zope.tal.talinterpreter import TALInterpreter
page1 = '''<html metal:use-macro="main"><body>
@@ -89,4 +83,4 @@ class SourcePosTestCase(unittest.TestCase):
def test_suite():
- return unittest.makeSuite(SourcePosTestCase)
+ return unittest.defaultTestLoader.loadTestsFromTestCase(SourcePosTestCase)
diff --git a/src/zope/tal/tests/test_talgettext.py b/src/zope/tal/tests/test_talgettext.py
index 1559e83..fedead8 100644
--- a/src/zope/tal/tests/test_talgettext.py
+++ b/src/zope/tal/tests/test_talgettext.py
@@ -14,22 +14,15 @@
"""Tests for the talgettext utility.
"""
-from __future__ import print_function
import tempfile
import unittest
import warnings
-
-try:
- # Python 2.x
- from StringIO import StringIO
-except ImportError:
- # Python 3.x
- from io import StringIO
+from io import StringIO
from zope.tal.htmltalparser import HTMLTALParser
-from zope.tal.talgettext import POTALInterpreter
from zope.tal.talgettext import POEngine
+from zope.tal.talgettext import POTALInterpreter
class test_POEngine(unittest.TestCase):
@@ -75,10 +68,10 @@ class test_POEngine(unittest.TestCase):
engine.file = 'psc_release_listing.pt'
# position is position in file.
engine.translate('foo', 'domain',
- default=u'Read more\u2026', position=7)
+ default='Read more\u2026', position=7)
# Adding the same key with the same default is fine.
engine.translate('foo', 'domain',
- default=u'Read more\u2026', position=13)
+ default='Read more\u2026', position=13)
# Adding the same key with a different default is bad and
# triggers a warning.
with warnings.catch_warnings(record=True) as log:
diff --git a/src/zope/tal/tests/test_talinterpreter.py b/src/zope/tal/tests/test_talinterpreter.py
index 26c35cf..6252713 100644
--- a/src/zope/tal/tests/test_talinterpreter.py
+++ b/src/zope/tal/tests/test_talinterpreter.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
@@ -15,27 +14,21 @@
"""Tests for TALInterpreter.
"""
import os
-
-import sys
import unittest
+from io import StringIO
-try:
- # Python 2.x
- from StringIO import StringIO
-except ImportError:
- # Python 3.x
- from io import StringIO
-
+from zope.i18nmessageid import Message
-from zope.tal.taldefs import METALError, I18NError, TAL_VERSION
-from zope.tal.taldefs import TALExpressionError
-from zope.tal.htmltalparser import HTMLTALParser
-from zope.tal.talparser import TALParser
-from zope.tal.talinterpreter import TALInterpreter
-from zope.tal.talgenerator import TALGenerator
from zope.tal.dummyengine import DummyEngine
from zope.tal.dummyengine import MultipleDomainsDummyEngine
-from zope.i18nmessageid import Message
+from zope.tal.htmltalparser import HTMLTALParser
+from zope.tal.taldefs import TAL_VERSION
+from zope.tal.taldefs import I18NError
+from zope.tal.taldefs import METALError
+from zope.tal.taldefs import TALExpressionError
+from zope.tal.talgenerator import TALGenerator
+from zope.tal.talinterpreter import TALInterpreter
+from zope.tal.talparser import TALParser
class TestCaseBase(unittest.TestCase):
@@ -466,8 +459,7 @@ class I18NCornerTestCaseMessage(TestCaseBase):
self.interpreter = TALInterpreter(program, {}, self.engine,
stream=result)
self.interpreter()
- msgids = self.engine.translationDomain.getMsgids('default')
- msgids.sort()
+ msgids = sorted(self.engine.translationDomain.getMsgids('default'))
self.assertEqual(1, len(msgids))
self.assertEqual('This is text <b> for</b> barvalue.', msgids[0][0])
self.assertEqual(
@@ -490,7 +482,7 @@ class I18NCornerTestCaseMessage(TestCaseBase):
self.assertEqual('This is text for ${bar}.', msgids[1][0])
self.assertEqual({'bar': '<pre> \tBAR\n </pre>'}, msgids[1][1])
self.assertEqual(
- (u'<div>THIS IS TEXT FOR <pre> \tBAR\n </pre>.</div>'),
+ ('<div>THIS IS TEXT FOR <pre> \tBAR\n </pre>.</div>'),
result.getvalue())
def test_for_handling_unicode_vars(self):
@@ -499,7 +491,7 @@ class I18NCornerTestCaseMessage(TestCaseBase):
program, _macros = self._compile(
r'''<div i18n:translate='' tal:define='bar python:u"\u00C0"'>'''
r'''Foo <span tal:replace='bar' i18n:name='bar' /></div>''')
- self._check(program, (u"<div>FOO \u00C0</div>"))
+ self._check(program, ("<div>FOO \u00C0</div>"))
class UnusedExplicitDomainTestCase(I18NCornerTestCaseMessage):
@@ -708,13 +700,13 @@ class OutputPresentationTestCase(TestCaseBase):
self.compare(INPUT, EXPECTED)
def test_unicode_content(self):
- INPUT = u"""<p tal:content="python:u'déjà-vu'">para</p>"""
- EXPECTED = u'<p>d\xe9j\xe0-vu</p>'
+ INPUT = """<p tal:content="python:u'déjà-vu'">para</p>"""
+ EXPECTED = '<p>d\xe9j\xe0-vu</p>'
self.compare(INPUT, EXPECTED)
def test_unicode_structure(self):
- INPUT = u"""<p tal:replace="structure python:u'déjà-vu'">para</p>"""
- EXPECTED = u'd\xe9j\xe0-vu'
+ INPUT = """<p tal:replace="structure python:u'déjà-vu'">para</p>"""
+ EXPECTED = 'd\xe9j\xe0-vu'
self.compare(INPUT, EXPECTED)
def test_i18n_replace_number(self):
@@ -722,30 +714,16 @@ class OutputPresentationTestCase(TestCaseBase):
<p i18n:translate="foo ${bar}">
<span tal:replace="python:123" i18n:name="bar">para</span>
</p>"""
- EXPECTED = (u"""
+ EXPECTED = ("""
<p>FOO 123</p>""")
self.compare(INPUT, EXPECTED)
def test_entities(self):
- if sys.version_info[:2] <= (3, 2):
- # HTMLParser.HTMLParser in Python 2.x--3.2 parses "&#45" as "&#45"
- INPUT = ('<img tal:define="foo nothing" '
- 'alt="&a; &#1; &#x0a; &a &#45 &; <>" />')
- EXPECTED = ('<img alt="&a; \x01 \n '
- '&amp;a &amp;#45 &amp;; &lt;&gt;" />')
- elif sys.version_info < (3, 4):
- # html.parser.HTMLParser in Python 3.3 parses "&#45" as "-"
- INPUT = ('<img tal:define="foo nothing" '
- 'alt="&a; &#1; &#x0a; &a &#45 &; <>" />')
- EXPECTED = ('<img alt="&a; \x01 \n '
- '&amp;a - &amp;; &lt;&gt;" />')
- else:
- # html.parser.HTMLParser in Python 3.4 parses "&#1" as ""
- # because '1' is an "invalid codepoint".
- INPUT = ('<img tal:define="foo nothing" '
- 'alt="&a; &#1; &#x0a; &a &#45 &; <>" />')
- EXPECTED = ('<img alt="&a; \n '
- '&amp;a - &amp;; &lt;&gt;" />')
+ # Python parses "&#1" as "" because '1' is an "invalid codepoint".
+ INPUT = ('<img tal:define="foo nothing" '
+ 'alt="&a; &#1; &#x0a; &a &#45 &; <>" />')
+ EXPECTED = ('<img alt="&a; \n '
+ '&amp;a - &amp;; &lt;&gt;" />')
self.compare(INPUT, EXPECTED)
def compare(self, INPUT, EXPECTED):
diff --git a/src/zope/tal/tests/test_talparser.py b/src/zope/tal/tests/test_talparser.py
index 58c8609..35c611b 100644
--- a/src/zope/tal/tests/test_talparser.py
+++ b/src/zope/tal/tests/test_talparser.py
@@ -34,4 +34,4 @@ class TALParserTestCase(unittest.TestCase):
def test_suite():
- return unittest.makeSuite(TALParserTestCase)
+ return unittest.defaultTestLoader.loadTestsFromTestCase(TALParserTestCase)
diff --git a/src/zope/tal/tests/test_xmlparser.py b/src/zope/tal/tests/test_xmlparser.py
index 437d68f..c02d652 100644
--- a/src/zope/tal/tests/test_xmlparser.py
+++ b/src/zope/tal/tests/test_xmlparser.py
@@ -81,7 +81,7 @@ class EventCollectorExtra(EventCollector):
self.append(("starttag_text", self.get_starttag_text()))
-class SegmentedFile(object):
+class SegmentedFile:
def __init__(self, parts):
self.parts = list(parts)
@@ -253,10 +253,10 @@ text
self._parse_error("<!DOCTYPE foo $ >")
def test_unicode_string(self):
- output = [('starttag', u'p', []),
- ('data', u'\xe4\xf6\xfc\xdf'),
- ('endtag', u'p')]
- self._run_check(u'<p>\xe4\xf6\xfc\xdf</p>', output)
+ output = [('starttag', 'p', []),
+ ('data', '\xe4\xf6\xfc\xdf'),
+ ('endtag', 'p')]
+ self._run_check('<p>\xe4\xf6\xfc\xdf</p>', output)
# Support for the Zope regression test framework:
diff --git a/src/zope/tal/tests/utils.py b/src/zope/tal/tests/utils.py
index b8d384d..36cf2a8 100644
--- a/src/zope/tal/tests/utils.py
+++ b/src/zope/tal/tests/utils.py
@@ -13,9 +13,10 @@
##############################################################################
"""Helper functions for the test suite.
"""
-import unittest
import os
import sys
+import unittest
+
mydir = os.path.abspath(os.path.dirname(__file__))
codedir = os.path.dirname(os.path.dirname(os.path.dirname(mydir)))