Kaydet (Commit) e8f58324 authored tarafından Alexander Belopolsky's avatar Alexander Belopolsky

Issue #9308: Removed redundant coding cookies. Added tests for

importing encoded modules that do not depend on specific stdlib
modules being encoded in a certain way.
üst c01537f7
# -*- coding: utf-8 -*-
# #
# Python documentation build configuration file # Python documentation build configuration file
# #
......
# -*- coding: iso-8859-1 -*-
"""Get useful information from live Python objects. """Get useful information from live Python objects.
This module encapsulates the interface provided by the internal special This module encapsulates the interface provided by the internal special
......
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: latin-1 -*-
"""Generate Python documentation in HTML or text for interactive use. """Generate Python documentation in HTML or text for interactive use.
In the Python interpreter, do "from pydoc import help" to provide online In the Python interpreter, do "from pydoc import help" to provide online
......
# -*- encoding: utf-8 -*-
# This is a package that contains a number of modules that are used to
# test import from the source files that have different encodings.
# This file (the __init__ module of the package), is encoded in utf-8
# and contains a list of strings from various unicode planes that are
# encoded differently to compare them to the same strings encoded
# differently in submodules. The following list, test_strings,
# contains a list of tuples. The first element of each tuple is the
# suffix that should be prepended with 'module_' to arrive at the
# encoded submodule name, the second item is the encoding and the last
# is the test string. The same string is assigned to the variable
# named 'test' inside the submodule. If the decoding of modules works
# correctly, from module_xyz import test should result in the same
# string as listed below in the 'xyz' entry.
# module, encoding, test string
test_strings = (
('iso_8859_1', 'iso-8859-1', "Les hommes ont oublié cette vérité, "
"dit le renard. Mais tu ne dois pas l'oublier. Tu deviens "
"responsable pour toujours de ce que tu as apprivoisé."),
('koi8_r', 'koi8-r', "Познание бесконечности требует бесконечного времени.")
)
# test iso-8859-1 encoding
# -*- encoding: iso-8859-1 -*-
test = ("Les hommes ont oublié cette vérité, "
"dit le renard. Mais tu ne dois pas l'oublier. Tu deviens "
"responsable pour toujours de ce que tu as apprivoisé.")
# test koi8-r encoding
# -*- encoding: koi8-r -*-
test = " ."
# -*- coding: utf-8 -*-
# Copyright (C) 2001,2002 Python Software Foundation # Copyright (C) 2001,2002 Python Software Foundation
# csv package unit tests # csv package unit tests
......
# -*- coding: utf-8 -*-
"""A module to test whether doctest recognizes some 2.2 features, """A module to test whether doctest recognizes some 2.2 features,
like static and class methods. like static and class methods.
......
...@@ -5,7 +5,7 @@ import shutil ...@@ -5,7 +5,7 @@ import shutil
import sys import sys
import unittest import unittest
from test import support from test import support
import importlib
class LockTests(unittest.TestCase): class LockTests(unittest.TestCase):
...@@ -42,18 +42,32 @@ class LockTests(unittest.TestCase): ...@@ -42,18 +42,32 @@ class LockTests(unittest.TestCase):
"RuntimeError") "RuntimeError")
class ImportTests(unittest.TestCase): class ImportTests(unittest.TestCase):
def setUp(self):
mod = importlib.import_module('test.encoded_modules')
self.test_strings = mod.test_strings
self.test_path = mod.__path__
def test_import_encoded_module(self):
for modname, encoding, teststr in self.test_strings:
mod = importlib.import_module('test.encoded_modules.'
'module_' + modname)
self.assertEqual(teststr, mod.test)
def test_find_module_encoding(self): def test_find_module_encoding(self):
fd = imp.find_module("pydoc")[0] for mod, encoding, _ in self.test_strings:
self.assertEqual(fd.encoding, "iso-8859-1") fd = imp.find_module('module_' + mod, self.test_path)[0]
self.assertEqual(fd.encoding, encoding)
def test_issue1267(self): def test_issue1267(self):
fp, filename, info = imp.find_module("pydoc") for mod, encoding, _ in self.test_strings:
self.assertNotEqual(fp, None) fp, filename, info = imp.find_module('module_' + mod,
self.assertEqual(fp.encoding, "iso-8859-1") self.test_path)
self.assertEqual(fp.tell(), 0) self.assertNotEqual(fp, None)
self.assertEqual(fp.readline(), '#!/usr/bin/env python3\n') self.assertEqual(fp.encoding, encoding)
fp.close() self.assertEqual(fp.tell(), 0)
self.assertEqual(fp.readline(), '# test %s encoding\n'
% encoding)
fp.close()
fp, filename, info = imp.find_module("tokenize") fp, filename, info = imp.find_module("tokenize")
self.assertNotEqual(fp, None) self.assertNotEqual(fp, None)
......
# -*- coding: utf-8 -*-
import unittest import unittest
from test import support from test import support
......
# -*- coding: iso-8859-1 -*-
import unittest, test.support import unittest, test.support
import sys, io, os import sys, io, os
import struct import struct
......
# -*- coding: utf-8 -*-
# Test the windows specific win32reg module. # Test the windows specific win32reg module.
# Only win32reg functions not hit here: FlushKey, LoadKey and SaveKey # Only win32reg functions not hit here: FlushKey, LoadKey and SaveKey
......
...@@ -872,7 +872,7 @@ XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax ...@@ -872,7 +872,7 @@ XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
tkinter/test/test_ttk site-packages test \ tkinter/test/test_ttk site-packages test \
test/decimaltestdata test/xmltestdata \ test/decimaltestdata test/xmltestdata \
test/tracedmodules \ test/tracedmodules test/encoded_modules \
concurrent encodings \ concurrent encodings \
email email/mime email/test email/test/data \ email email/mime email/test email/test/data \
html json json/tests http dbm xmlrpc \ html json json/tests http dbm xmlrpc \
......
...@@ -403,6 +403,9 @@ Tools/Demos ...@@ -403,6 +403,9 @@ Tools/Demos
Tests Tests
----- -----
- Issue #9308: Added tests for importing encoded modules that do not
depend on specific stdlib modules being encoded in a certain way.
- Issue #1051: Add a script (Lib/test/make_ssl_certs.py) to generate the custom - Issue #1051: Add a script (Lib/test/make_ssl_certs.py) to generate the custom
certificate and private key files used by SSL-related certs. certificate and private key files used by SSL-related certs.
......
# -*- coding: utf-8 -*-
# This file should be kept compatible with both Python 2.6 and Python >= 3.0. # This file should be kept compatible with both Python 2.6 and Python >= 3.0.
from __future__ import division from __future__ import division
......
#! /usr/bin/env python3 #! /usr/bin/env python3
# -*- coding: iso-8859-1 -*- # Written by Martin v. Löwis <loewis@informatik.hu-berlin.de>
# Written by Martin v. Lwis <loewis@informatik.hu-berlin.de>
"""Generate binary message catalog from textual translation description. """Generate binary message catalog from textual translation description.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment