+++ /dev/null
-# -*- coding: utf-8 -*-\r
-import sys\r
-import codecs\r
-import logging\r
-import StringIO\r
-import unittest\r
-\r
-from lib2to3 import main\r
-\r
-\r
-class TestMain(unittest.TestCase):\r
-\r
- def tearDown(self):\r
- # Clean up logging configuration down by main.\r
- del logging.root.handlers[:]\r
-\r
- def run_2to3_capture(self, args, in_capture, out_capture, err_capture):\r
- save_stdin = sys.stdin\r
- save_stdout = sys.stdout\r
- save_stderr = sys.stderr\r
- sys.stdin = in_capture\r
- sys.stdout = out_capture\r
- sys.stderr = err_capture\r
- try:\r
- return main.main("lib2to3.fixes", args)\r
- finally:\r
- sys.stdin = save_stdin\r
- sys.stdout = save_stdout\r
- sys.stderr = save_stderr\r
-\r
- def test_unencodable_diff(self):\r
- input_stream = StringIO.StringIO(u"print 'nothing'\nprint u'über'\n")\r
- out = StringIO.StringIO()\r
- out_enc = codecs.getwriter("ascii")(out)\r
- err = StringIO.StringIO()\r
- ret = self.run_2to3_capture(["-"], input_stream, out_enc, err)\r
- self.assertEqual(ret, 0)\r
- output = out.getvalue()\r
- self.assertTrue("-print 'nothing'" in output)\r
- self.assertTrue("WARNING: couldn't encode <stdin>'s diff for "\r
- "your terminal" in err.getvalue())\r