pretty-format-json: ignore original newline presence or absence

This commit is contained in:
Aurélien Joga 2024-03-14 10:49:51 +01:00
parent 2d948977cf
commit 10e3730a81
No known key found for this signature in database
4 changed files with 15 additions and 1 deletions

View file

@ -4,6 +4,7 @@ repos:
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
exclude: testing/resources/pretty_formatted_json_no_endline.json
- id: check-yaml
- id: debug-statements
- id: double-quote-string-fixer

View file

@ -27,7 +27,8 @@ def _get_pretty_format(
indent=indent,
ensure_ascii=ensure_ascii,
)
return f'{json_pretty}\n'
finisher = '\n' if contents.endswith('\n') else ''
return f'{json_pretty}{finisher}'
def _autofix(filename: str, new_contents: str) -> None:

View file

@ -0,0 +1,9 @@
{
"alist": [
2,
34,
234
],
"blah": null,
"foo": "bar"
}

View file

@ -23,6 +23,7 @@ def test_parse_num_to_int():
('unsorted_pretty_formatted_json.json', 1),
('non_ascii_pretty_formatted_json.json', 1),
('pretty_formatted_json.json', 0),
('pretty_formatted_json_no_endline.json', 0),
),
)
def test_main(filename, expected_retval):
@ -36,6 +37,7 @@ def test_main(filename, expected_retval):
('unsorted_pretty_formatted_json.json', 0),
('non_ascii_pretty_formatted_json.json', 1),
('pretty_formatted_json.json', 0),
('pretty_formatted_json_no_endline.json', 0),
),
)
def test_unsorted_main(filename, expected_retval):
@ -49,6 +51,7 @@ def test_unsorted_main(filename, expected_retval):
('unsorted_pretty_formatted_json.json', 1),
('non_ascii_pretty_formatted_json.json', 1),
('pretty_formatted_json.json', 1),
('pretty_formatted_json_no_endline.json', 1),
('tab_pretty_formatted_json.json', 0),
),
)