support docstrings in enum::value() (#1160)
diff --git a/tests/test_enum.cpp b/tests/test_enum.cpp
index 49f31ba..4cd14a9 100644
--- a/tests/test_enum.cpp
+++ b/tests/test_enum.cpp
@@ -15,9 +15,9 @@
EOne = 1,
ETwo
};
- py::enum_<UnscopedEnum>(m, "UnscopedEnum", py::arithmetic())
- .value("EOne", EOne)
- .value("ETwo", ETwo)
+ py::enum_<UnscopedEnum>(m, "UnscopedEnum", py::arithmetic(), "An unscoped enumeration")
+ .value("EOne", EOne, "Docstring for EOne")
+ .value("ETwo", ETwo, "Docstring for ETwo")
.export_values();
// test_scoped_enum
diff --git a/tests/test_enum.py b/tests/test_enum.py
index d8eff52..d3f5b4d 100644
--- a/tests/test_enum.py
+++ b/tests/test_enum.py
@@ -18,6 +18,22 @@
assert m.UnscopedEnum.__members__ == \
{"EOne": m.UnscopedEnum.EOne, "ETwo": m.UnscopedEnum.ETwo}
+ assert m.UnscopedEnum.__doc__ == \
+ '''An unscoped enumeration
+
+Members:
+
+ EOne : Docstring for EOne
+
+ ETwo : Docstring for ETwo''' or m.UnscopedEnum.__doc__ == \
+ '''An unscoped enumeration
+
+Members:
+
+ ETwo : Docstring for ETwo
+
+ EOne : Docstring for EOne'''
+
# no TypeError exception for unscoped enum ==/!= int comparisons
y = m.UnscopedEnum.ETwo
assert y == 2