◐ Shell
clean mode source ↗

bpo-27413: json.tool: Add `--no-ensure-ascii` option. by wimglenn · Pull Request #17472 · python/cpython

Expand Up @@ -190,3 +190,25 @@ def test_compact(self): json_stdout, err = proc.communicate(json_stdin) self.assertEqual(expect.splitlines(), json_stdout.splitlines()) self.assertEqual(err, b'')
def test_no_ensure_ascii_flag(self): infile = self._create_infile('{"key":"💩"}') outfile = support.TESTFN + '.out' self.addCleanup(os.remove, outfile) assert_python_ok('-m', 'json.tool', '--no-ensure-ascii', infile, outfile) with open(outfile, "rb") as f: lines = f.read().splitlines() # asserting utf-8 encoded output file expected = [b'{', b' "key": "\xf0\x9f\x92\xa9"', b"}"] self.assertEqual(lines, expected)
def test_ensure_ascii_default(self): infile = self._create_infile('{"key":"💩"}') outfile = support.TESTFN + '.out' self.addCleanup(os.remove, outfile) assert_python_ok('-m', 'json.tool', infile, outfile) with open(outfile, "rb") as f: lines = f.read().splitlines() # asserting an ascii encoded output file expected = [b'{', rb' "key": "\ud83d\udca9"', b"}"] self.assertEqual(lines, expected)