summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_json
diff options
context:
space:
mode:
authorDaniel Himmelstein <daniel.himmelstein@gmail.com>2019-12-04 06:15:19 (GMT)
committerInada Naoki <songofacandy@gmail.com>2019-12-04 06:15:19 (GMT)
commit03257949bc02a4afdf2ea1eb07a73f8128129579 (patch)
treeceaf3976e56c1258505bd8b0a13221b99c69f34f /Lib/test/test_json
parenteb48a451e3844185b9a8751c9badffbddc89689d (diff)
downloadcpython-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.py41
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'')