diff options
author | Holger Peters <email@holger-peters.de> | 2014-04-11 12:16:09 +0200 |
---|---|---|
committer | Holger Peters <email@holger-peters.de> | 2014-04-11 12:16:09 +0200 |
commit | eb6a123cad2d86dd91d8322c32ea7716e3dc9a5e (patch) | |
tree | 9cc4b4dd12c69700be07fdbcbf39be1fbcad56e8 | |
parent | 3e0cdd3973029f23e52db23bcd7db413834bc336 (diff) | |
download | pylint-eb6a123cad2d86dd91d8322c32ea7716e3dc9a5e.tar.gz |
Add more tests for TypeChecker's getattr check and ignored_modules
-rw-r--r-- | test/test_type.py | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/test/test_type.py b/test/test_type.py index debfa98..7c65215 100644 --- a/test/test_type.py +++ b/test/test_type.py @@ -1,27 +1,53 @@ """Unittest for the type checker.""" -import re - from astroid import test_utils from pylint.checkers import typecheck from pylint.testutils import CheckerTestCase, Message, set_config - class TypeCheckerTest(CheckerTestCase): + "Tests for pylint.checkers.typecheck" CHECKER_CLASS = typecheck.TypeChecker - CONFIG = { - 'bad_names': set(), - } - -# @set_config(include_naming_hint=True, -# const_name_hint='CONSTANT') - def test_naming_hint_configured_hint(self): - const = test_utils.extract_node(""" + + def test_no_member_in_getattr(self): + """Make sure that a module attribute access is checked by pylint. + """ + + node = test_utils.extract_node(""" + import argparse + argparse.THIS_does_not_EXIST + """) + with self.assertAddsMessages( + Message( + 'no-member', + node=node, + args=('Module', 'argparse', 'THIS_does_not_EXIST'))): + self.checker.visit_getattr(node) + + def test_no_member_in_getattr_ignored(self): + """Make sure that a module attribute access check is omitted with a + module that is configured to be ignored. + """ + + node = test_utils.extract_node(""" + import optparse + optparse.THIS_does_not_EXIST + """) + with self.assertNoMessages(): + self.checker.visit_getattr(node) + + + @set_config(ignored_modules=('argparse',)) + def test_no_member_in_getattr_ignored_cust_config(self): + """Make sure that a module can be added to the ignored_modules list and + a no-member message will not be raised upon attribute access. + """ + + node = test_utils.extract_node(""" import argparse argparse.THIS_does_not_EXIST """) - with self.assertAddsMessages(Message('no-member', node=const, args=('Module', 'argparse', 'THIS_does_not_EXIST'))): - self.checker.visit_getattr(const) + with self.assertNoMessages(): + self.checker.visit_getattr(node) if __name__ == '__main__': |