Skip to content

Commit

Permalink
Fix enum's __str__ docstring (#4827)
Browse files Browse the repository at this point in the history
* fix: Enum __str__ function name

* tests: Test enum.__str__.__doc__
  • Loading branch information
sizmailov authored Aug 30, 2023
1 parent 1adac5a commit e705fb5
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 1 addition & 1 deletion include/pybind11/pybind11.h
Original file line number Diff line number Diff line change
Expand Up @@ -2014,7 +2014,7 @@ struct enum_base {
object type_name = type::handle_of(arg).attr("__name__");
return pybind11::str("{}.{}").format(std::move(type_name), enum_name(arg));
},
name("name"),
name("__str__"),
is_method(m_base));

if (options::show_enum_members_docstring()) {
Expand Down
5 changes: 5 additions & 0 deletions tests/test_enum.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,3 +264,8 @@ def test_docstring_signatures():
for attr in enum_type.__dict__.values():
# Issue #2623/PR #2637: Add argument names to enum_ methods
assert "arg0" not in (attr.__doc__ or "")


def test_str_signature():
for enum_type in [m.ScopedEnum, m.UnscopedEnum]:
assert enum_type.__str__.__doc__.startswith("__str__")

0 comments on commit e705fb5

Please sign in to comment.