summaryrefslogtreecommitdiff
path: root/pylint/test
diff options
context:
space:
mode:
authorClaudiu Popa <pcmanticore@gmail.com>2015-10-27 16:59:44 +0000
committerClaudiu Popa <pcmanticore@gmail.com>2015-10-27 16:59:44 +0000
commit002c5c8b653ca94a88e395ada0e2734138907969 (patch)
tree6ba7112664c4edd4fdd267437d66ea3cb9097272 /pylint/test
parent103cc7f6362d96937f9c588afb0bc911cc850f87 (diff)
parent65fb626ade8636a13e1ecafbcc4611ce545cc72a (diff)
downloadpylint-002c5c8b653ca94a88e395ada0e2734138907969.tar.gz
Merge heads.
Diffstat (limited to 'pylint/test')
-rw-r--r--pylint/test/functional/consider_using_enumerate.py43
-rw-r--r--pylint/test/functional/consider_using_enumerate.txt1
2 files changed, 44 insertions, 0 deletions
diff --git a/pylint/test/functional/consider_using_enumerate.py b/pylint/test/functional/consider_using_enumerate.py
new file mode 100644
index 0000000..f906da0
--- /dev/null
+++ b/pylint/test/functional/consider_using_enumerate.py
@@ -0,0 +1,43 @@
+"""Emit a message for iteration through range and len is encountered."""
+
+# pylint: disable=missing-docstring, import-error
+
+def bad():
+ iterable = [1, 2, 3]
+ for obj in range(len(iterable)): # [consider-using-enumerate]
+ yield iterable[obj]
+
+
+def good():
+ iterable = other_obj = [1, 2, 3]
+ total = 0
+ for obj in range(len(iterable)):
+ total += obj
+ yield total
+ yield iterable[obj + 1: 2]
+ yield iterable[len(obj)]
+ for obj in iterable:
+ yield iterable[obj - 1]
+
+ for index, obj in enumerate(iterable):
+ yield iterable[index]
+ for index in range(0, 10):
+ yield iterable[index + 1]
+ for index in range(10):
+ yield iterable[index]
+ for index in range(len([1, 2, 3, 4])):
+ yield index
+ for index in range(len(iterable)):
+ yield [1, 2, 3][index]
+ yield len([1, 2, 3])
+ for index in range(len(iterable)):
+ yield other_obj[index]
+
+ from unknown import unknown
+ for index in range(unknown(iterable)):
+ yield iterable[index]
+
+ for index in range(len(iterable)):
+ def test(iterable):
+ return iterable[index]
+ yield test([1, 2, 3])
diff --git a/pylint/test/functional/consider_using_enumerate.txt b/pylint/test/functional/consider_using_enumerate.txt
new file mode 100644
index 0000000..36cd55d
--- /dev/null
+++ b/pylint/test/functional/consider_using_enumerate.txt
@@ -0,0 +1 @@
+consider-using-enumerate:7:bad:Consider using enumerate instead of iterating with range and len