mirror of https://github.com/python/cpython
Merged revisions 67030-67031 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r67030 | benjamin.peterson | 2008-10-26 15:21:13 -0500 (Sun, 26 Oct 2008) | 1 line fix __future__ imports when multiple features are given ........ r67031 | benjamin.peterson | 2008-10-26 15:33:19 -0500 (Sun, 26 Oct 2008) | 1 line add forgotten test for r67030 ........
This commit is contained in:
parent
23681daa71
commit
b74777ed33
|
@ -89,19 +89,23 @@ class FutureTest(unittest.TestCase):
|
|||
# the parser hack disabled. If a new keyword is introduced in
|
||||
# 2.6, change this to refer to the new future import.
|
||||
try:
|
||||
exec "from __future__ import division, with_statement; with = 0"
|
||||
exec "from __future__ import print_function; print 0"
|
||||
except SyntaxError:
|
||||
pass
|
||||
else:
|
||||
self.fail("syntax error didn't occur")
|
||||
|
||||
try:
|
||||
exec "from __future__ import (with_statement, division); with = 0"
|
||||
exec "from __future__ import (print_function); print 0"
|
||||
except SyntaxError:
|
||||
pass
|
||||
else:
|
||||
self.fail("syntax error didn't occur")
|
||||
|
||||
def test_multiple_features(self):
|
||||
test_support.unload("test.test_future5")
|
||||
from test import test_future5
|
||||
|
||||
|
||||
def test_main():
|
||||
test_support.run_unittest(FutureTest)
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
# Check that multiple features can be enabled.
|
||||
from __future__ import unicode_literals, print_function
|
||||
|
||||
import sys
|
||||
import unittest
|
||||
from . import test_support
|
||||
|
||||
|
||||
class TestMultipleFeatures(unittest.TestCase):
|
||||
|
||||
def test_unicode_literals(self):
|
||||
self.assertTrue(isinstance("", unicode))
|
||||
|
||||
def test_print_function(self):
|
||||
with test_support.captured_output("stderr") as s:
|
||||
print("foo", file=sys.stderr)
|
||||
self.assertEqual(s.getvalue(), "foo\n")
|
||||
|
||||
|
||||
def test_main():
|
||||
test_support.run_unittest(TestMultipleFeatures)
|
|
@ -12,6 +12,9 @@ What's New in Python 2.6.1 alpha 1
|
|||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #4209: Enabling unicode_literals and the print_function in the same
|
||||
__future__ import didn't work.
|
||||
|
||||
- On windows, os.chdir given unicode was not working if GetCurrentDirectoryW
|
||||
returned a path longer than MAX_PATH. (But It's doubtful this code path is
|
||||
really executed because I cannot move to such directory on win2k)
|
||||
|
|
|
@ -206,13 +206,10 @@ future_hack(parser_state *ps)
|
|||
char *str_ch = STR(CHILD(cch, 0));
|
||||
if (strcmp(str_ch, FUTURE_WITH_STATEMENT) == 0) {
|
||||
ps->p_flags |= CO_FUTURE_WITH_STATEMENT;
|
||||
break;
|
||||
} else if (strcmp(str_ch, FUTURE_PRINT_FUNCTION) == 0) {
|
||||
ps->p_flags |= CO_FUTURE_PRINT_FUNCTION;
|
||||
break;
|
||||
} else if (strcmp(str_ch, FUTURE_UNICODE_LITERALS) == 0) {
|
||||
ps->p_flags |= CO_FUTURE_UNICODE_LITERALS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue