def test_args__verbose__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch("argparse._sys.argv", ["doc8", "--verbose"]): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with(self.get_args(verbose=True))
def test_args__version__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch("argparse._sys.argv", ["doc8", "--version"]): state = main() self.assertEqual(state, 0) mock_scan.assert_not_called()
def test_args__no_args__defaults(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch("argparse._sys.argv", ["doc8"]): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with(self.get_args())
def test_args__max_line_length__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch( "argparse._sys.argv", ["doc8", "--max-line-length", "88"] ): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with(self.get_args(max_line_length=88))
def test_main__quiet_no_verbose__output_is_quiet(self): with TmpFs() as tmpfs, Capture() as (out, err), patch( "argparse._sys.argv", ["doc8", "--quiet", tmpfs.path]): tmpfs.mock() state = main() self.assertEqual(out.getvalue(), tmpfs.expected(OUTPUT_CMD_QUIET)) self.assertEqual(err.getvalue(), "") self.assertEqual(state, 1)
def test_args__write_violations__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch( "argparse._sys.argv", ["doc8", "--write-violations", "file"] ): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with(self.get_args(write_violations="file"))
def test_args__file_encoding__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch( "argparse._sys.argv", ["doc8", "--file-encoding", "utf8"] ): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with(self.get_args(file_encoding="utf8"))
def test_args__default_extension__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch( "argparse._sys.argv", ["doc8", "--default-extension", "rst"] ): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with(self.get_args(default_extension="rst"))
def test_args__ignore__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch( "argparse._sys.argv", ["doc8", "--ignore", "D002", "--ignore", "D002", "--ignore", "D005"], ): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with(self.get_args(ignore={"D002", "D005"}))
def test_args__config__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) mock_config = MagicMock(return_value={}) with patch("doc8.main.scan", mock_scan), patch( "doc8.main.extract_config", mock_config), patch( "argparse._sys.argv", ["doc8", "--config", "path1", "--config", "path2"]): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with( self.get_args(config=["path1", "path2"]))
def test_args__ignore_path_errors__overrides_default(self): mock_scan = MagicMock(return_value=([], 0)) with patch("doc8.main.scan", mock_scan), patch( "argparse._sys.argv", [ "doc8", "--ignore-path-errors", "path1;D002", "--ignore-path-errors", "path2;D005", ], ): state = main() self.assertEqual(state, 0) mock_scan.assert_called_once_with( self.get_args(ignore_path_errors={"path1": {"D002"}, "path2": {"D005"}}) )
def test_main__write_violations__output_violations_are_written_to_file(self): with TmpFs() as tmpfs, Capture() as (out, err), patch( "argparse._sys.argv", [ "doc8", "--write-violations", os.path.join(tmpfs.path, "out.txt"), tmpfs.path, ], ): tmpfs.mock() state = main() with open(os.path.join(tmpfs.path, "out.txt"), "r") as in_file: file_content = in_file.read() self.assertEqual(file_content, tmpfs.expected(OUTPUT_VIOLATIONS_FILE)) self.assertEqual(err.getvalue(), "") self.assertEqual(state, 1)
# Copyright (C) 2019 Red Hat, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys from doc8 import main sys.exit(main.main())