diff options
author | Claudiu Popa <cpopa@cloudbasesolutions.com> | 2015-05-10 23:54:07 +0300 |
---|---|---|
committer | Claudiu Popa <cpopa@cloudbasesolutions.com> | 2015-05-10 23:54:07 +0300 |
commit | 60aa5fec7ec7ce61cd8f17e1067ab3e6bb77bb27 (patch) | |
tree | 099b6270d6c8dac398bbb600a5a9612bdbe3e209 /pylint/extensions | |
parent | d27b74cce1d57bbc81701df6d025fbc4156a8494 (diff) | |
download | pylint-60aa5fec7ec7ce61cd8f17e1067ab3e6bb77bb27.tar.gz |
Move extensions/test to pylint.test, so they could be tested along with the rest of the tests.
Diffstat (limited to 'pylint/extensions')
-rw-r--r-- | pylint/extensions/test/test_check_docs.py | 644 |
1 files changed, 0 insertions, 644 deletions
diff --git a/pylint/extensions/test/test_check_docs.py b/pylint/extensions/test/test_check_docs.py deleted file mode 100644 index 02b5dbf..0000000 --- a/pylint/extensions/test/test_check_docs.py +++ /dev/null @@ -1,644 +0,0 @@ -"""Unit tests for the pylint checkers in :mod:`pylint.extensions.check_docs`, -in particular the parameter documentation checker `ParamDocChecker` -""" -from __future__ import division, print_function, absolute_import - -import unittest - -from astroid import test_utils -import astroid.scoped_nodes -from pylint.testutils import CheckerTestCase, Message, set_config - -from pylint.extensions.check_docs import ParamDocChecker, space_indentation - - -class ParamDocCheckerTest(CheckerTestCase): - """Tests for pylint_plugin.ParamDocChecker""" - CHECKER_CLASS = ParamDocChecker - - def test_space_indentation(self): - self.assertEqual(space_indentation('abc'), 0) - self.assertEqual(space_indentation(''), 0) - self.assertEqual(space_indentation(' abc'), 2) - self.assertEqual(space_indentation('\n abc'), 0) - self.assertEqual(space_indentation(' \n abc'), 3) - - def test_missing_func_params_in_sphinx_docstring(self): - """Example of a function with missing Sphinx parameter documentation in - the docstring - """ - node = test_utils.extract_node(""" - def function_foo(x, y, z): - '''docstring ... - - :param x: bla - - :param int z: bar - ''' - pass - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('y',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('x, y',)) - ): - self.checker.visit_function(node) - - def test_missing_func_params_in_google_docstring(self): - """Example of a function with missing Google style parameter - documentation in the docstring - """ - node = test_utils.extract_node(""" - def function_foo(x, y, z): - '''docstring ... - - Args: - x: bla - z (int): bar - - some other stuff - ''' - pass - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('y',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('x, y',)) - ): - self.checker.visit_function(node) - - def test_missing_func_params_in_numpy_docstring(self): - """Example of a function with missing NumPy style parameter - documentation in the docstring - """ - node = test_utils.extract_node(""" - def function_foo(x, y, z): - '''docstring ... - - Parameters - ---------- - x: - bla - z: int - bar - - some other stuff - ''' - pass - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('y',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('x, y',)) - ): - self.checker.visit_function(node) - - def test_tolerate_no_param_documentation_at_all(self): - """Example of a function with no parameter documentation at all - - No error message is emitted. - """ - node = test_utils.extract_node(""" - def function_foo(x, y): - '''docstring ... - - missing parameter documentation''' - pass - """) - with self.assertNoMessages(): - self.checker.visit_function(node) - - @set_config(accept_no_param_doc=False) - def test_don_t_tolerate_no_param_documentation_at_all(self): - """Example of a function with no parameter documentation at all - - No error message is emitted. - """ - node = test_utils.extract_node(""" - def function_foo(x, y): - '''docstring ... - - missing parameter documentation''' - pass - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('x, y',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('x, y',)) - ): - self.checker.visit_function(node) - - def _visit_methods_of_class(self, node): - """Visit all methods of a class node - - :param node: class node - :type node: :class:`astroid.scoped_nodes.Class` - """ - for body_item in node.body: - if (isinstance(body_item, astroid.scoped_nodes.Function) - and hasattr(body_item, 'name')): - self.checker.visit_function(body_item) - - def test_missing_method_params_in_sphinx_docstring(self): - """Example of a class method with missing parameter documentation in - the Sphinx style docstring - """ - node = test_utils.extract_node(""" - class Foo(object): - def method_foo(self, x, y): - '''docstring ... - - missing parameter documentation - - :param x: bla - ''' - pass - """) - method_node = node.body[0] - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=method_node, - args=('y',)), - Message( - msg_id='missing-type-doc', - node=method_node, - args=('x, y',)) - ): - self._visit_methods_of_class(node) - - def test_missing_method_params_in_google_docstring(self): - """Example of a class method with missing parameter documentation in - the Google style docstring - """ - node = test_utils.extract_node(""" - class Foo(object): - def method_foo(self, x, y): - '''docstring ... - - missing parameter documentation - - Args: - x: bla - ''' - pass - """) - method_node = node.body[0] - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=method_node, - args=('y',)), - Message( - msg_id='missing-type-doc', - node=method_node, - args=('x, y',)) - ): - self._visit_methods_of_class(node) - - def test_missing_method_params_in_numpy_docstring(self): - """Example of a class method with missing parameter documentation in - the Numpy style docstring - """ - node = test_utils.extract_node(""" - class Foo(object): - def method_foo(self, x, y): - '''docstring ... - - missing parameter documentation - - Parameters - ---------- - x: - bla - ''' - pass - """) - method_node = node.body[0] - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=method_node, - args=('y',)), - Message( - msg_id='missing-type-doc', - node=method_node, - args=('x, y',)) - ): - self._visit_methods_of_class(node) - - def test_existing_func_params_in_sphinx_docstring(self): - """Example of a function with correctly documented parameters and - return values (Sphinx style) - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg, zarg): - '''function foo ... - - :param xarg: bla xarg - :type xarg: int - - :param yarg: bla yarg - :type yarg: float - - :param int zarg: bla zarg - - :return: sum - :rtype: float - ''' - return xarg + yarg - """) - with self.assertNoMessages(): - self.checker.visit_function(node) - - def test_existing_func_params_in_google_docstring(self): - """Example of a function with correctly documented parameters and - return values (Google style) - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg, zarg): - '''function foo ... - - Args: - xarg (int): bla xarg - yarg (float): bla - bla yarg - - zarg (int): bla zarg - - Returns: - float: sum - ''' - return xarg + yarg - """) - with self.assertNoMessages(): - self.checker.visit_function(node) - - def test_existing_func_params_in_numpy_docstring(self): - """Example of a function with correctly documented parameters and - return values (Numpy style) - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg, zarg): - '''function foo ... - - Parameters - ---------- - xarg: int - bla xarg - yarg: float - bla yarg - - zarg: int - bla zarg - - Returns - ------- - float - sum - ''' - return xarg + yarg - """) - with self.assertNoMessages(): - self.checker.visit_function(node) - - def test_wrong_name_of_func_params_in_sphinx_docstring(self): - """Example of functions with inconsistent parameter names in the - signature and in the Sphinx style documentation - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg, zarg): - '''function foo ... - - :param xarg1: bla xarg - :type xarg: int - - :param yarg: bla yarg - :type yarg1: float - - :param str zarg1: bla zarg - ''' - return xarg + yarg - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('xarg, xarg1, zarg, zarg1',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('yarg, yarg1, zarg, zarg1',)), - ): - self.checker.visit_function(node) - - node = test_utils.extract_node(""" - def function_foo(xarg, yarg): - '''function foo ... - - :param yarg1: bla yarg - :type yarg1: float - - For the other parameters, see bla. - ''' - return xarg + yarg - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('yarg1',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('yarg1',)) - ): - self.checker.visit_function(node) - - def test_wrong_name_of_func_params_in_google_docstring(self): - """Example of functions with inconsistent parameter names in the - signature and in the Google style documentation - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg, zarg): - '''function foo ... - - Args: - xarg1 (int): bla xarg - yarg (float): bla yarg - - zarg1 (str): bla zarg - ''' - return xarg + yarg - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('xarg, xarg1, zarg, zarg1',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('xarg, xarg1, zarg, zarg1',)), - ): - self.checker.visit_function(node) - - node = test_utils.extract_node(""" - def function_foo(xarg, yarg): - '''function foo ... - - Args: - yarg1 (float): bla yarg - - For the other parameters, see bla. - ''' - return xarg + yarg - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('yarg1',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('yarg1',)) - ): - self.checker.visit_function(node) - - def test_wrong_name_of_func_params_in_numpy_docstring(self): - """Example of functions with inconsistent parameter names in the - signature and in the Numpy style documentation - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg, zarg): - '''function foo ... - - Parameters - ---------- - xarg1: int - bla xarg - yarg: float - bla yarg - - zarg1: str - bla zarg - ''' - return xarg + yarg - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('xarg, xarg1, zarg, zarg1',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('xarg, xarg1, zarg, zarg1',)), - ): - self.checker.visit_function(node) - - node = test_utils.extract_node(""" - def function_foo(xarg, yarg): - '''function foo ... - - Parameters - ---------- - yarg1: float - bla yarg - - For the other parameters, see bla. - ''' - return xarg + yarg - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('yarg1',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('yarg1',)) - ): - self.checker.visit_function(node) - - def test_see_sentence_for_func_params_in_sphinx_docstring(self): - """Example for the usage of "For the other parameters, see" to avoid - too many repetitions, e.g. in functions or methods adhering to a - given interface (Sphinx style) - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg): - '''function foo ... - - :param yarg: bla yarg - :type yarg: float - - For the other parameters, see :func:`bla` - ''' - return xarg + yarg - """) - with self.assertNoMessages(): - self.checker.visit_function(node) - - def test_see_sentence_for_func_params_in_google_docstring(self): - """Example for the usage of "For the other parameters, see" to avoid - too many repetitions, e.g. in functions or methods adhering to a - given interface (Google style) - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg): - '''function foo ... - - Args: - yarg (float): bla yarg - - For the other parameters, see :func:`bla` - ''' - return xarg + yarg - """) - with self.assertNoMessages(): - self.checker.visit_function(node) - - def test_see_sentence_for_func_params_in_numpy_docstring(self): - """Example for the usage of "For the other parameters, see" to avoid - too many repetitions, e.g. in functions or methods adhering to a - given interface (Numpy style) - """ - node = test_utils.extract_node(""" - def function_foo(xarg, yarg): - '''function foo ... - - Parameters - ---------- - yarg: float - bla yarg - - For the other parameters, see :func:`bla` - ''' - return xarg + yarg - """) - with self.assertNoMessages(): - self.checker.visit_function(node) - - def test_constr_params_in_class_sphinx(self): - """Example of a class with missing constructor parameter documentation - (Sphinx style) - - Everything is completely analogous to functions. - """ - node = test_utils.extract_node(""" - class ClassFoo(object): - '''docstring foo - - :param y: bla - - missing constructor parameter documentation - ''' - - def __init__(self, x, y): - pass - - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('x',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('x, y',)) - ): - self._visit_methods_of_class(node) - - def test_constr_params_in_class_google(self): - """Example of a class with missing constructor parameter documentation - (Google style) - - Everything is completely analogous to functions. - """ - node = test_utils.extract_node(""" - class ClassFoo(object): - '''docstring foo - - Args: - y: bla - - missing constructor parameter documentation - ''' - - def __init__(self, x, y): - pass - - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('x',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('x, y',)) - ): - self._visit_methods_of_class(node) - - def test_constr_params_in_class_numpy(self): - """Example of a class with missing constructor parameter documentation - (Numpy style) - - Everything is completely analogous to functions. - """ - node = test_utils.extract_node(""" - class ClassFoo(object): - '''docstring foo - - Parameters - ---------- - y: - bla - - missing constructor parameter documentation - ''' - - def __init__(self, x, y): - pass - - """) - with self.assertAddsMessages( - Message( - msg_id='missing-param-doc', - node=node, - args=('x',)), - Message( - msg_id='missing-type-doc', - node=node, - args=('x, y',)) - ): - self._visit_methods_of_class(node) - - -if __name__ == '__main__': - unittest.main() |