summaryrefslogtreecommitdiff
path: root/tests/functional/c/consider_iterating_dictionary.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/c/consider_iterating_dictionary.py')
-rw-r--r--tests/functional/c/consider_iterating_dictionary.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/functional/c/consider_iterating_dictionary.py b/tests/functional/c/consider_iterating_dictionary.py
new file mode 100644
index 000000000..1198de1cb
--- /dev/null
+++ b/tests/functional/c/consider_iterating_dictionary.py
@@ -0,0 +1,38 @@
+# pylint: disable=missing-docstring, expression-not-assigned, too-few-public-methods, no-member, import-error, no-self-use, line-too-long, useless-object-inheritance, unnecessary-comprehension
+
+from unknown import Unknown
+
+
+class CustomClass(object):
+ def keys(self):
+ return []
+
+for key in Unknown().keys():
+ pass
+for key in Unknown.keys():
+ pass
+for key in dict.keys():
+ pass
+for key in {}.values():
+ pass
+for key in {}.key():
+ pass
+for key in CustomClass().keys():
+ pass
+
+[key for key in {}.keys()] # [consider-iterating-dictionary]
+(key for key in {}.keys()) # [consider-iterating-dictionary]
+{key for key in {}.keys()} # [consider-iterating-dictionary]
+{key: key for key in {}.keys()} # [consider-iterating-dictionary]
+COMP1 = [key for key in {}.keys()] # [consider-iterating-dictionary]
+COMP2 = (key for key in {}.keys()) # [consider-iterating-dictionary]
+COMP3 = {key for key in {}.keys()} # [consider-iterating-dictionary]
+COMP4 = {key: key for key in {}.keys()} # [consider-iterating-dictionary]
+for key in {}.keys(): # [consider-iterating-dictionary]
+ pass
+
+# Issue #1247
+DICT = {'a': 1, 'b': 2}
+COMP1 = [k * 2 for k in DICT.keys()] + [k * 3 for k in DICT.keys()] # [consider-iterating-dictionary,consider-iterating-dictionary]
+COMP2, COMP3 = [k * 2 for k in DICT.keys()], [k * 3 for k in DICT.keys()] # [consider-iterating-dictionary,consider-iterating-dictionary]
+SOME_TUPLE = ([k * 2 for k in DICT.keys()], [k * 3 for k in DICT.keys()]) # [consider-iterating-dictionary,consider-iterating-dictionary]