Skip to content

Commit b1fb77b

Browse files
committed
Added test case for .keys() within comprehension
1 parent f54b22d commit b1fb77b

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

tests/functional/c/consider/consider_using_dict_items.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""Emit a message for iteration through dict keys and subscripting dict with key."""
2-
# pylint: disable=missing-docstring,unsubscriptable-object,too-few-public-methods
2+
# pylint: disable=line-too-long,missing-docstring,unsubscriptable-object,too-few-public-methods
33

44
def bad():
55
a_dict = {1: 1, 2: 2, 3: 3}
@@ -81,3 +81,6 @@ class Foo:
8181
# Should NOT emit warning, essentially same check as above
8282
val = [(k7, c_dict[k7]) for k7 in Foo.c_dict]
8383
val = any(True for k8 in Foo.c_dict if c_dict[k8])
84+
85+
# Should emit warning, using .keys() of Foo.c_dict
86+
val = any(True for k8 in Foo.c_dict.keys() if Foo.c_dict[k8]) # [consider-iterating-dictionary,consider-using-dict-items]

tests/functional/c/consider/consider_using_dict_items.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ consider-using-dict-items:68:0::Consider iterating with .items()
1111
consider-using-dict-items:71:0::Consider iterating with .items()
1212
consider-using-dict-items:72:0::Consider iterating with .items()
1313
consider-using-dict-items:75:0::Consider iterating with .items()
14+
consider-iterating-dictionary:86:25::Consider iterating the dictionary directly instead of calling .keys()
15+
consider-using-dict-items:86:0::Consider iterating with .items()

0 commit comments

Comments
 (0)