diff --git a/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java b/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java
index e1c62ce172cc..99f483df8e61 100644
--- a/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java
+++ b/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java
@@ -283,6 +283,12 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
result.append(": ");
result.append(formatTypeWithLinks(paramType, function, context));
}
+ final String defaultValue = parameter.getDefaultValueText();
+ if (defaultValue != null) {
+ // According to PEP 8 equal sign should be surrounded by spaces if annotation is present
+ result.append(showType ? " = " : "=");
+ result.append(escaped(defaultValue));
+ }
first = false;
}
diff --git a/python/testData/quickdoc/DefaultValues.html b/python/testData/quickdoc/DefaultValues.html
new file mode 100644
index 000000000000..6e3d079f96e6
--- /dev/null
+++ b/python/testData/quickdoc/DefaultValues.html
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/python/testData/quickdoc/DefaultValues.py b/python/testData/quickdoc/DefaultValues.py
new file mode 100644
index 000000000000..02bbe0d97fd8
--- /dev/null
+++ b/python/testData/quickdoc/DefaultValues.py
@@ -0,0 +1,5 @@
+class C:
+ def method(self=42, foo=[1,
+ 2],
+ bar="
"):
+ pass
diff --git a/python/testData/quickdoc/NumPyOnesDoc.html b/python/testData/quickdoc/NumPyOnesDoc.html
index 24d2bdb1c1e2..142c11ce2d00 100644
--- a/python/testData/quickdoc/NumPyOnesDoc.html
+++ b/python/testData/quickdoc/NumPyOnesDoc.html
@@ -1,3 +1,3 @@
-def ones(shape: Union[int, Iterable[int]], dtype: Optional[object], order: Optional[str]) -> ndarray
+def ones(shape: Union[int, Iterable[int]], dtype: Optional[object] = None, order: Optional[str] = 'C') -> ndarray
**Test docstring**
Return a new array of given shape and type, filled with ones.
\ No newline at end of file
diff --git a/python/testData/quickdoc/OptionalParameterType.html b/python/testData/quickdoc/OptionalParameterType.html
index aa353ddcbf5c..371ed817a36d 100644
--- a/python/testData/quickdoc/OptionalParameterType.html
+++ b/python/testData/quickdoc/OptionalParameterType.html
@@ -1,2 +1,2 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/python/testSrc/com/jetbrains/python/PyQuickDocTest.java b/python/testSrc/com/jetbrains/python/PyQuickDocTest.java
index 20444060e131..750cb26a2a25 100644
--- a/python/testSrc/com/jetbrains/python/PyQuickDocTest.java
+++ b/python/testSrc/com/jetbrains/python/PyQuickDocTest.java
@@ -69,6 +69,7 @@ public class PyQuickDocTest extends LightMarkedTestCase {
private void checkHTMLOnly() {
final Map marks = loadTest();
final PsiElement originalElement = marks.get("");
+ assertNotNull(" marker is missing in test data", originalElement);
final DocumentationManager manager = DocumentationManager.getInstance(myFixture.getProject());
final PsiElement target = manager.findTargetElement(myFixture.getEditor(),
originalElement.getTextOffset(),
@@ -566,6 +567,11 @@ public class PyQuickDocTest extends LightMarkedTestCase {
checkHTMLOnly();
}
+ // PY-31033
+ public void testDefaultValues() {
+ checkHTMLOnly();
+ }
+
@Override
protected String getTestDataPath() {
return super.getTestDataPath() + "/quickdoc/";