From: Ezio Melotti Date: Thu, 29 Nov 2012 00:18:34 +0000 (+0200) Subject: #16549: merge with 3.3. X-Git-Tag: v3.4.0a1~1933 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=401cf295e59a9a60ba26a9d5964f31c2c3016285;p=thirdparty%2FPython%2Fcpython.git #16549: merge with 3.3. --- 401cf295e59a9a60ba26a9d5964f31c2c3016285 diff --cc Lib/test/json_tests/test_tool.py index 000000000000,8a3cc6f77f5c..1f2c8a244204 mode 000000,100644..100644 --- a/Lib/test/json_tests/test_tool.py +++ b/Lib/test/json_tests/test_tool.py @@@ -1,0 -1,69 +1,69 @@@ + import os + import sys + import textwrap + import unittest + import subprocess + from test import support + from test.script_helper import assert_python_ok + + class TestTool(unittest.TestCase): + data = """ + + [["blorpie"],[ "whoops" ] , [ + ],\t"d-shtaeou",\r"d-nthiouh", + "i-vhbjkhnth", {"nifty":87}, {"morefield" :\tfalse,"field" + :"yes"} ] + """ + + expect = textwrap.dedent("""\ + [ + [ + "blorpie" - ], ++ ], + [ + "whoops" - ], - [], - "d-shtaeou", - "d-nthiouh", - "i-vhbjkhnth", ++ ], ++ [], ++ "d-shtaeou", ++ "d-nthiouh", ++ "i-vhbjkhnth", + { + "nifty": 87 - }, ++ }, + { - "field": "yes", ++ "field": "yes", + "morefield": false + } + ] + """) + + def test_stdin_stdout(self): + with subprocess.Popen( + (sys.executable, '-m', 'json.tool'), + stdin=subprocess.PIPE, stdout=subprocess.PIPE) as proc: + out, err = proc.communicate(self.data.encode()) + self.assertEqual(out, self.expect.encode()) + self.assertEqual(err, None) + + def _create_infile(self): + infile = support.TESTFN + with open(infile, "w") as fp: + self.addCleanup(os.remove, infile) + fp.write(self.data) + return infile + + def test_infile_stdout(self): + infile = self._create_infile() + rc, out, err = assert_python_ok('-m', 'json.tool', infile) + self.assertEqual(out, self.expect.encode()) + self.assertEqual(err, b'') + + def test_infile_outfile(self): + infile = self._create_infile() + outfile = support.TESTFN + '.out' + rc, out, err = assert_python_ok('-m', 'json.tool', infile, outfile) + self.addCleanup(os.remove, outfile) + with open(outfile, "r") as fp: + self.assertEqual(fp.read(), self.expect) + self.assertEqual(out, b'') + self.assertEqual(err, b'')