From f6fd9aede24a951c478f7c6a63ccaa6df36d1866 Mon Sep 17 00:00:00 2001 From: Semyon Proshev Date: Tue, 14 Feb 2017 14:37:41 +0300 Subject: [PATCH] PY-22507 Fixed: False positive: parameters unfilled after the isinstance check for datetime.date.timetuple Add test. Issue was fixed after enabling pyi-stubs for datetime module. --- .../TimetupleOnAssertedDate/_datetime.py | 3 +++ .../PyArgumentListInspection/TimetupleOnAssertedDate/b.py | 6 ++++++ .../TimetupleOnAssertedDate/datetime.py | 8 ++++++++ .../python/inspections/PyArgumentListInspectionTest.java | 5 +++++ 4 files changed, 22 insertions(+) create mode 100644 python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/_datetime.py create mode 100644 python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/b.py create mode 100644 python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/datetime.py diff --git a/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/_datetime.py b/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/_datetime.py new file mode 100644 index 000000000000..c5833b5fca0a --- /dev/null +++ b/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/_datetime.py @@ -0,0 +1,3 @@ +class date: + def timetuple(self): + pass \ No newline at end of file diff --git a/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/b.py b/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/b.py new file mode 100644 index 000000000000..64b6e204857d --- /dev/null +++ b/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/b.py @@ -0,0 +1,6 @@ +from datetime import date + + +def foo(my_date): + if isinstance(my_date, date): + my_date.timetuple() \ No newline at end of file diff --git a/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/datetime.py b/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/datetime.py new file mode 100644 index 000000000000..0b8a6ed623ed --- /dev/null +++ b/python/testData/inspections/PyArgumentListInspection/TimetupleOnAssertedDate/datetime.py @@ -0,0 +1,8 @@ +class date: + def timetuple(self): + pass + +try: + from _datetime import * +except: + pass \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/inspections/PyArgumentListInspectionTest.java b/python/testSrc/com/jetbrains/python/inspections/PyArgumentListInspectionTest.java index 69b153223169..9217939871f0 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyArgumentListInspectionTest.java +++ b/python/testSrc/com/jetbrains/python/inspections/PyArgumentListInspectionTest.java @@ -258,6 +258,11 @@ public class PyArgumentListInspectionTest extends PyTestCase { doTest(); } + // PY-22507 + public void testTimetupleOnAssertedDate() { + doMultiFileTest(); + } + private void doMultiFileTest() { final String folderPath = "inspections/PyArgumentListInspection/" + getTestName(false) + "/";