mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2026-04-02 02:56:52 +00:00
fix formatting issues
This commit is contained in:
parent
496e23dea6
commit
63948989d7
2 changed files with 19 additions and 11 deletions
|
|
@ -9,9 +9,11 @@ from difflib import unified_diff
|
|||
from typing import Mapping
|
||||
from typing import Sequence
|
||||
|
||||
def _insert_linebreaks(json_str) -> str:
|
||||
# (?P<spaces>\s*) seems to capture the \n. Hence, there is no need for it in the substitution string
|
||||
return re.sub(r'\n(?P<spaces>\s*)(?P<json_key>.*): {}(?P<delim>,??)', '\n\g<spaces>\g<json_key>: {\n\g<spaces>}\g<delim>', json_str)
|
||||
def _insert_linebreaks(json_str: str) -> str:
|
||||
return re.sub(
|
||||
r'\n(?P<spaces>\s*)(?P<json_key>.*): {}(?P<delim>,??)',
|
||||
'\n\g<spaces>\g<json_key>: {\n\g<spaces>}\g<delim>',
|
||||
json_str)
|
||||
|
||||
def _get_pretty_format(
|
||||
contents: str,
|
||||
|
|
@ -109,7 +111,8 @@ def main(argv: Sequence[str] | None = None) -> int:
|
|||
action='store_true',
|
||||
dest='empty_object_with_newline',
|
||||
default=False,
|
||||
help='Format empty JSON objects to have a linebreak, also activates --no-sort-keys',
|
||||
help='Format empty JSON objects to have a linebreak, ' \
|
||||
+ 'also activates --no-sort-keys',
|
||||
)
|
||||
parser.add_argument('filenames', nargs='*', help='Filenames to fix')
|
||||
args = parser.parse_args(argv)
|
||||
|
|
|
|||
|
|
@ -146,24 +146,29 @@ def test_empty_object_with_newline(tmpdir):
|
|||
ret = main(["--empty-object-with-newline", str(sameline)])
|
||||
assert ret == 1
|
||||
|
||||
# a template to be compared against.
|
||||
multiline = get_resource_path("empty_object_json_multiline.json")
|
||||
to_be_formatted_sameline = tmpdir.join(
|
||||
"not_pretty_formatted_empty_object_json_sameline.json"
|
||||
)
|
||||
shutil.copyfile(str(sameline), str(to_be_formatted_sameline))
|
||||
|
||||
# file has empty object with newline => expect fail with default settings
|
||||
ret = main([str(multiline)])
|
||||
assert ret == 1
|
||||
|
||||
# now launch the autofix with empty object with newline support on that file
|
||||
# launch the autofix with empty object with newline support on that file
|
||||
to_be_formatted_sameline = tmpdir.join(
|
||||
"not_pretty_formatted_empty_object_json_sameline.json"
|
||||
)
|
||||
shutil.copyfile(str(sameline), str(to_be_formatted_sameline))
|
||||
ret = main(
|
||||
["--autofix", "--empty-object-with-newline", str(to_be_formatted_sameline)]
|
||||
["--autofix",
|
||||
"--empty-object-with-newline",
|
||||
str(to_be_formatted_sameline)]
|
||||
)
|
||||
# it should have formatted it and don't raise an error code
|
||||
# to not stop the the commit
|
||||
assert ret == 0
|
||||
|
||||
# file was formatted (shouldn't trigger linter with --empty-object-with-newline switch)
|
||||
# file was formatted (shouldn't trigger linter with
|
||||
# --empty-object-with-newline switch)
|
||||
ret = main(["--empty-object-with-newline", str(to_be_formatted_sameline)])
|
||||
assert ret == 0
|
||||
assert filecmp.cmp(to_be_formatted_sameline, multiline)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue