Commit bd075214 authored by Brett Cannon's avatar Brett Cannon

Make _load_testfile() use its encoding argument when __loader__ is defined.

parent b5461ddb
...@@ -209,7 +209,8 @@ def _load_testfile(filename, package, module_relative, encoding): ...@@ -209,7 +209,8 @@ def _load_testfile(filename, package, module_relative, encoding):
filename = _module_relative_path(package, filename) filename = _module_relative_path(package, filename)
if hasattr(package, '__loader__'): if hasattr(package, '__loader__'):
if hasattr(package.__loader__, 'get_data'): if hasattr(package.__loader__, 'get_data'):
return package.__loader__.get_data(filename).decode('utf-8'), filename return (package.__loader__.get_data(filename).decode(encoding),
filename)
return open(filename, encoding=encoding).read(), filename return open(filename, encoding=encoding).read(), filename
def _indent(s, indent=4): def _indent(s, indent=4):
......
...@@ -14,6 +14,14 @@ Extension Modules ...@@ -14,6 +14,14 @@ Extension Modules
- The `hotshot` profiler has been removed; use `cProfile` instead. - The `hotshot` profiler has been removed; use `cProfile` instead.
Library
-------
- When loading an external file using testfile(), the passed-in encoding
argument was being ignored if __loader__ is defined and forcing the source to
be UTF-8.
What's New in Python 3.0a1? What's New in Python 3.0a1?
========================== ==========================
......
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