mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
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.
This commit is contained in:
parent
c01537f742
commit
e8f583244a
16 changed files with 59 additions and 21 deletions
|
@ -1,4 +1,3 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
#
|
#
|
||||||
# Python documentation build configuration file
|
# Python documentation build configuration file
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
# -*- 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
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#!/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
|
||||||
|
|
23
Lib/test/encoded_modules/__init__.py
Normal file
23
Lib/test/encoded_modules/__init__.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# -*- 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', "Познание бесконечности требует бесконечного времени.")
|
||||||
|
)
|
5
Lib/test/encoded_modules/module_iso_8859_1.py
Normal file
5
Lib/test/encoded_modules/module_iso_8859_1.py
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# 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é.")
|
3
Lib/test/encoded_modules/module_koi8_r.py
Normal file
3
Lib/test/encoded_modules/module_koi8_r.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# test koi8-r encoding
|
||||||
|
# -*- encoding: koi8-r -*-
|
||||||
|
test = "Познание бесконечности требует бесконечного времени."
|
|
@ -1,4 +1,3 @@
|
||||||
# -*- 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
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
# -*- 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
|
||||||
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,17 +42,31 @@ 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:
|
||||||
|
fp, filename, info = imp.find_module('module_' + mod,
|
||||||
|
self.test_path)
|
||||||
self.assertNotEqual(fp, None)
|
self.assertNotEqual(fp, None)
|
||||||
self.assertEqual(fp.encoding, "iso-8859-1")
|
self.assertEqual(fp.encoding, encoding)
|
||||||
self.assertEqual(fp.tell(), 0)
|
self.assertEqual(fp.tell(), 0)
|
||||||
self.assertEqual(fp.readline(), '#!/usr/bin/env python3\n')
|
self.assertEqual(fp.readline(), '# test %s encoding\n'
|
||||||
|
% encoding)
|
||||||
fp.close()
|
fp.close()
|
||||||
|
|
||||||
fp, filename, info = imp.find_module("tokenize")
|
fp, filename, info = imp.find_module("tokenize")
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
import unittest
|
import unittest
|
||||||
from test import support
|
from test import support
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
# -*- coding: iso-8859-1 -*-
|
|
||||||
import unittest, test.support
|
import unittest, test.support
|
||||||
import sys, io, os
|
import sys, io, os
|
||||||
import struct
|
import struct
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
# -*- 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
|
||||||
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
|
||||||
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.
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
# -*- 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
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#! /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. Löwis <loewis@informatik.hu-berlin.de>
|
|
||||||
|
|
||||||
"""Generate binary message catalog from textual translation description.
|
"""Generate binary message catalog from textual translation description.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue