summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Popa <pcmanticore@gmail.com>2015-10-26 15:57:03 +0000
committerClaudiu Popa <pcmanticore@gmail.com>2015-10-26 15:57:03 +0000
commit23ce091db69414000823511ed8cd3e6c298e3550 (patch)
treedf1fde8dc485bd61c6cd81d34a44a26f93c40196
parent9af681ac214be79d6cbedd7bcf68f24c6cd27d99 (diff)
downloadpylint-23ce091db69414000823511ed8cd3e6c298e3550.tar.gz
Don't emit misplaced-comparison-constant for constant tests, such as true == true, which should be handled by other checks.
-rw-r--r--pylint/checkers/base.py7
-rw-r--r--pylint/test/functional/misplaced_comparison_constant.py4
-rw-r--r--pylint/test/functional/misplaced_comparison_constant.txt10
3 files changed, 6 insertions, 15 deletions
diff --git a/pylint/checkers/base.py b/pylint/checkers/base.py
index 25f2c8b..a526dda 100644
--- a/pylint/checkers/base.py
+++ b/pylint/checkers/base.py
@@ -1490,15 +1490,12 @@ class ComparisonChecker(_BasicChecker):
args=(None, "'expr is None'"))
def _check_misplaced_constant(self, node, left, right, operator):
- suggestion = None
- if isinstance(right, (astroid.Name, astroid.Attribute, astroid.Call)):
+ if not isinstance(right, astroid.Const):
reverse_op = {'<': '>', '<=': '>=', '>': '<', '>=': '<='}
if operator in reverse_op:
operator = reverse_op[operator]
+
suggestion = '%s %s %s' % (right.as_string(), operator, left.value)
- elif isinstance(right, astroid.Const):
- suggestion = 'between a variable and a constant'
- if suggestion:
self.add_message('misplaced-comparison-constant', node=node,
args=(suggestion,))
diff --git a/pylint/test/functional/misplaced_comparison_constant.py b/pylint/test/functional/misplaced_comparison_constant.py
index 49fffa9..50416a5 100644
--- a/pylint/test/functional/misplaced_comparison_constant.py
+++ b/pylint/test/functional/misplaced_comparison_constant.py
@@ -18,10 +18,6 @@ def bad_comparisons():
for i in range(10):
if 5 <= i: # [misplaced-comparison-constant]
pass
- if True == True: # [misplaced-comparison-constant]
- pass
- if 'bar' != 'foo': # [misplaced-comparison-constant]
- pass
if 1 == i: # [misplaced-comparison-constant]
pass
if 3 < dummy_return(): # [misplaced-comparison-constant]
diff --git a/pylint/test/functional/misplaced_comparison_constant.txt b/pylint/test/functional/misplaced_comparison_constant.txt
index 2e63dce..8933f74 100644
--- a/pylint/test/functional/misplaced_comparison_constant.txt
+++ b/pylint/test/functional/misplaced_comparison_constant.txt
@@ -1,7 +1,5 @@
misplaced-comparison-constant:19:bad_comparisons:Comparison should be i >= 5
-misplaced-comparison-constant:21:bad_comparisons:Comparison should be between a variable and a constant
-misplaced-comparison-constant:23:bad_comparisons:Comparison should be between a variable and a constant
-misplaced-comparison-constant:25:bad_comparisons:Comparison should be i == 1
-misplaced-comparison-constant:27:bad_comparisons:Comparison should be dummy_return() > 3
-misplaced-comparison-constant:29:bad_comparisons:Comparison should be instance.dummy_return() != 4
-misplaced-comparison-constant:31:bad_comparisons:Comparison should be instance.attr == 1
+misplaced-comparison-constant:21:bad_comparisons:Comparison should be i == 1
+misplaced-comparison-constant:23:bad_comparisons:Comparison should be dummy_return() > 3
+misplaced-comparison-constant:25:bad_comparisons:Comparison should be instance.dummy_return() != 4
+misplaced-comparison-constant:27:bad_comparisons:Comparison should be instance.attr == 1