diff options
author | Daniel Himmelstein <daniel.himmelstein@gmail.com> | 2019-12-04 06:15:19 (GMT) |
---|---|---|
committer | Inada Naoki <songofacandy@gmail.com> | 2019-12-04 06:15:19 (GMT) |
commit | 03257949bc02a4afdf2ea1eb07a73f8128129579 (patch) | |
tree | ceaf3976e56c1258505bd8b0a13221b99c69f34f /Lib/test/test_json | |
parent | eb48a451e3844185b9a8751c9badffbddc89689d (diff) | |
download | cpython-03257949bc02a4afdf2ea1eb07a73f8128129579.zip cpython-03257949bc02a4afdf2ea1eb07a73f8128129579.tar.gz cpython-03257949bc02a4afdf2ea1eb07a73f8128129579.tar.bz2 |
bpo-29636: Add --(no-)indent arguments to json.tool (GH-345)
Diffstat (limited to 'Lib/test/test_json')
-rw-r--r-- | Lib/test/test_json/test_tool.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Lib/test/test_json/test_tool.py b/Lib/test/test_json/test_tool.py index 1e95bc7..81d179c 100644 --- a/Lib/test/test_json/test_tool.py +++ b/Lib/test/test_json/test_tool.py @@ -134,3 +134,44 @@ class TestTool(unittest.TestCase): self.assertEqual(out.splitlines(), self.expect_without_sort_keys.encode().splitlines()) self.assertEqual(err, b'') + + def test_indent(self): + json_stdin = b'[1, 2]' + expect = textwrap.dedent('''\ + [ + 1, + 2 + ] + ''').encode() + args = sys.executable, '-m', 'json.tool', '--indent', '2' + with Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE) as proc: + json_stdout, err = proc.communicate(json_stdin) + self.assertEqual(expect.splitlines(), json_stdout.splitlines()) + self.assertEqual(err, b'') + + def test_no_indent(self): + json_stdin = b'[1,\n2]' + expect = b'[1, 2]' + args = sys.executable, '-m', 'json.tool', '--no-indent' + with Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE) as proc: + json_stdout, err = proc.communicate(json_stdin) + self.assertEqual(expect.splitlines(), json_stdout.splitlines()) + self.assertEqual(err, b'') + + def test_tab(self): + json_stdin = b'[1, 2]' + expect = b'[\n\t1,\n\t2\n]\n' + args = sys.executable, '-m', 'json.tool', '--tab' + with Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE) as proc: + json_stdout, err = proc.communicate(json_stdin) + self.assertEqual(expect.splitlines(), json_stdout.splitlines()) + self.assertEqual(err, b'') + + def test_compact(self): + json_stdin = b'[ 1 ,\n 2]' + expect = b'[1,2]' + args = sys.executable, '-m', 'json.tool', '--compact' + with Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE) as proc: + json_stdout, err = proc.communicate(json_stdin) + self.assertEqual(expect.splitlines(), json_stdout.splitlines()) + self.assertEqual(err, b'') |