From 317aef49610c5a9bb47838aa9a9863cb8090d829 Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Sat, 3 Aug 2019 11:36:34 +0100 Subject: [PATCH] Added tests for check_toml Also assures we print filename when error occurs. --- pre_commit_hooks/check_toml.py | 2 +- tests/check_toml_test.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 tests/check_toml_test.py diff --git a/pre_commit_hooks/check_toml.py b/pre_commit_hooks/check_toml.py index 370830c..e16e17c 100644 --- a/pre_commit_hooks/check_toml.py +++ b/pre_commit_hooks/check_toml.py @@ -19,7 +19,7 @@ def main(argv=None): # type: (Optional[Sequence[str]]) -> int with open(filename) as f: toml.load(f) except toml.TomlDecodeError as exc: - print(exc) + print('{}: {}'.format(filename, exc)) retval = 1 return retval diff --git a/tests/check_toml_test.py b/tests/check_toml_test.py new file mode 100644 index 0000000..1172c40 --- /dev/null +++ b/tests/check_toml_test.py @@ -0,0 +1,32 @@ +from __future__ import absolute_import +from __future__ import unicode_literals + +from pre_commit_hooks.check_toml import main + + +def test_toml_good(tmpdir): + filename = tmpdir.join('f') + filename.write(""" +key = # INVALID + += "no key name" # INVALID +""") + ret = main((filename.strpath,)) + assert ret == 1 + + +def test_toml_bad(tmpdir): + filename = tmpdir.join('f') + filename.write( + """ +# This is a TOML document. + +title = "TOML Example" + +[owner] +name = "John" +dob = 1979-05-27T07:32:00-08:00 # First class dates +""", + ) + ret = main((filename.strpath,)) + assert ret == 0