From bb279d6899d2aa79cbd2c168a58b6b6b571b72f9 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Thu, 1 Aug 2024 16:42:12 -0300 Subject: [PATCH] feat: Add test for --lint option --- tests/basic/test_main.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index f5aa1dc02..d4e7fac35 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -327,6 +327,31 @@ class TestMain(TestCase): _, kwargs = MockCoder.call_args self.assertEqual(kwargs["show_diffs"], True) + def test_lint_option(self): + with GitTemporaryDirectory() as git_dir: + # Create a dirty file in the root + dirty_file = Path(git_dir) / "dirty_file.py" + dirty_file.write_text("def foo():\n return 'bar'") + + # Create a subdirectory + subdir = Path(git_dir) / "subdir" + subdir.mkdir() + + # Change to the subdirectory + os.chdir(subdir) + + # Mock the Linter class + with patch("aider.linter.Linter") as MockLinter: + mock_linter_instance = MockLinter.return_value + mock_linter_instance.lint.return_value = "Linting results" + + # Run main with --lint option + main(["--lint", "--no-git"], input=DummyInput(), output=DummyOutput()) + + # Check if the Linter was called with the correct file + MockLinter.assert_called_once() + mock_linter_instance.lint.assert_called_once_with(str(dirty_file)) + def test_verbose_mode_lists_env_vars(self): self.create_env_file(".env", "AIDER_DARK_MODE=on") with patch("sys.stdout", new_callable=StringIO) as mock_stdout: