summaryrefslogtreecommitdiff
path: root/Lib/test
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2005-11-24 22:00:56 +0000
committerNeal Norwitz <nnorwitz@gmail.com>2005-11-24 22:00:56 +0000
commitac7b66912cf29cb32c14170b92e7e674001c03e5 (patch)
treec65af67792f1aebc45f007713dc4364255d9a472 /Lib/test
parent77c8be9e92fc8c931b7f8431e207fd400711f45e (diff)
downloadcpython-ac7b66912cf29cb32c14170b92e7e674001c03e5.tar.gz
Move registration of the codec search function to the module scope
so it is only executed once. Otherwise the same search function is repeated added to the codec search path when regrtest is run with -R and leaks are reported.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_unicode.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index d85f171dbb..e298a14335 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -9,6 +9,24 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
import unittest, sys, string, codecs, new
from test import test_support, string_tests
+# Error handling (bad decoder return)
+def search_function(encoding):
+ def decode1(input, errors="strict"):
+ return 42 # not a tuple
+ def encode1(input, errors="strict"):
+ return 42 # not a tuple
+ def encode2(input, errors="strict"):
+ return (42, 42) # no unicode
+ def decode2(input, errors="strict"):
+ return (42, 42) # no unicode
+ if encoding=="test.unicode1":
+ return (encode1, decode1, None, None)
+ elif encoding=="test.unicode2":
+ return (encode2, decode2, None, None)
+ else:
+ return None
+codecs.register(search_function)
+
class UnicodeTest(
string_tests.CommonTest,
string_tests.MixinStrUnicodeUserStringTest,
@@ -567,23 +585,6 @@ class UnicodeTest(
# Error handling (truncated escape sequence)
self.assertRaises(UnicodeError, "\\".decode, "unicode-escape")
- # Error handling (bad decoder return)
- def search_function(encoding):
- def decode1(input, errors="strict"):
- return 42 # not a tuple
- def encode1(input, errors="strict"):
- return 42 # not a tuple
- def encode2(input, errors="strict"):
- return (42, 42) # no unicode
- def decode2(input, errors="strict"):
- return (42, 42) # no unicode
- if encoding=="test.unicode1":
- return (encode1, decode1, None, None)
- elif encoding=="test.unicode2":
- return (encode2, decode2, None, None)
- else:
- return None
- codecs.register(search_function)
self.assertRaises(TypeError, "hello".decode, "test.unicode1")
self.assertRaises(TypeError, unicode, "hello", "test.unicode2")
self.assertRaises(TypeError, u"hello".encode, "test.unicode1")