diff --git a/scripts/fitdump b/scripts/fitdump index 629f61b..c986586 100755 --- a/scripts/fitdump +++ b/scripts/fitdump @@ -59,7 +59,7 @@ def parse_args(args=None): options.verbose = options.verbose >= 1 options.with_defs = (options.type == "readable" and options.verbose) - options.as_dict = (options.type != "readable" and options.verbose) + options.as_dict = (options.type == "json" and options.verbose) return options diff --git a/tests/test_fitdump.py b/tests/test_fitdump.py new file mode 100644 index 0000000..649b6d4 --- /dev/null +++ b/tests/test_fitdump.py @@ -0,0 +1,28 @@ +import importlib.util +import os +import pathlib +import tempfile +import unittest +from importlib.machinery import SourceFileLoader + + +FITDUMP_PATH = pathlib.Path(__file__).parents[1] / "scripts" / "fitdump" +FITDUMP_SPEC = importlib.util.spec_from_loader("fitdump", SourceFileLoader("fitdump", str(FITDUMP_PATH))) +fitdump = importlib.util.module_from_spec(FITDUMP_SPEC) +FITDUMP_SPEC.loader.exec_module(fitdump) + + +class ParseArgsTestCase(unittest.TestCase): + def test_verbose_gpx_keeps_messages_for_gpx_generator(self): + input_file = tempfile.NamedTemporaryFile(delete=False) + input_file.close() + options = fitdump.parse_args(["-v", "--type", "gpx", input_file.name]) + try: + self.assertFalse(options.as_dict) + finally: + options.infile.close() + os.unlink(input_file.name) + + +if __name__ == "__main__": + unittest.main()