]> granicus.if.org Git - python/commitdiff
#16549: merge with 3.3.
authorEzio Melotti <ezio.melotti@gmail.com>
Thu, 29 Nov 2012 00:18:34 +0000 (02:18 +0200)
committerEzio Melotti <ezio.melotti@gmail.com>
Thu, 29 Nov 2012 00:18:34 +0000 (02:18 +0200)
1  2 
Lib/test/json_tests/test_tool.py
Misc/ACKS
Misc/NEWS

index 0000000000000000000000000000000000000000,8a3cc6f77f5cb67a3d90387256f50adca9d410ed..1f2c8a2442047b9091db9765b61d2fe34727aacd
mode 000000,100644..100644
--- /dev/null
@@@ -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"
 -        ], 
 -        [], 
 -        "d-shtaeou", 
 -        "d-nthiouh", 
 -        "i-vhbjkhnth", 
++        ],
+         [
+             "whoops"
 -        }, 
++        ],
++        [],
++        "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'')
diff --cc Misc/ACKS
Simple merge
diff --cc Misc/NEWS
Simple merge