summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Peters <email@holger-peters.de>2014-04-11 12:16:09 +0200
committerHolger Peters <email@holger-peters.de>2014-04-11 12:16:09 +0200
commiteb6a123cad2d86dd91d8322c32ea7716e3dc9a5e (patch)
tree9cc4b4dd12c69700be07fdbcbf39be1fbcad56e8
parent3e0cdd3973029f23e52db23bcd7db413834bc336 (diff)
downloadpylint-eb6a123cad2d86dd91d8322c32ea7716e3dc9a5e.tar.gz
Add more tests for TypeChecker's getattr check and ignored_modules
-rw-r--r--test/test_type.py52
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__':