Index: Parser/parser.c =================================================================== --- Parser/parser.c (revision 67015) +++ Parser/parser.c (working copy) @@ -206,13 +206,10 @@ 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; } } } Index: Lib/test/test_future5.py =================================================================== --- Lib/test/test_future5.py (revision 0) +++ Lib/test/test_future5.py (revision 0) @@ -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) Property changes on: Lib/test/test_future5.py ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Index: Lib/test/test_future.py =================================================================== --- Lib/test/test_future.py (revision 67015) +++ Lib/test/test_future.py (working copy) @@ -89,20 +89,24 @@ # 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)