summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_future.py8
-rw-r--r--Lib/test/test_future5.py21
2 files changed, 27 insertions, 2 deletions
diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py
index ec60489..1432e74 100644
--- a/Lib/test/test_future.py
+++ b/Lib/test/test_future.py
@@ -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)
diff --git a/Lib/test/test_future5.py b/Lib/test/test_future5.py
new file mode 100644
index 0000000..1e1a930
--- /dev/null
+++ b/Lib/test/test_future5.py
@@ -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)