mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +00:00
* Bug fix: `result[0]` called if `result.empty()` * Add unit test that fails without the fix.
This commit is contained in:
parent
8c7b8dd0ae
commit
d06d53694a
@ -57,12 +57,14 @@ inline std::string replace_newlines_and_squash(const char *text) {
|
||||
std::string result(text);
|
||||
bool previous_is_whitespace = false;
|
||||
|
||||
if (result.size() >= 2) {
|
||||
// Do not modify string representations
|
||||
char first_char = result[0];
|
||||
char last_char = result[result.size() - 1];
|
||||
if (first_char == last_char && first_char == '\'') {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
result.clear();
|
||||
|
||||
// Replace characters in whitespaces array with spaces and squash consecutive spaces
|
||||
|
@ -85,6 +85,8 @@ TEST_SUBMODULE(kwargs_and_defaults, m) {
|
||||
"kw_lb_func7",
|
||||
[](const std::string &) {},
|
||||
py::arg("str_arg") = "First line.\n Second line.");
|
||||
m.def(
|
||||
"kw_lb_func8", [](const CustomRepr &) {}, py::arg("custom") = CustomRepr(""));
|
||||
|
||||
// test_args_and_kwargs
|
||||
m.def("args_function", [](py::args args) -> py::tuple {
|
||||
|
@ -55,6 +55,10 @@ def test_function_signatures(doc):
|
||||
doc(m.kw_lb_func7)
|
||||
== "kw_lb_func7(str_arg: str = 'First line.\\n Second line.') -> None"
|
||||
)
|
||||
assert (
|
||||
doc(m.kw_lb_func8)
|
||||
== "kw_lb_func8(custom: m.kwargs_and_defaults.CustomRepr = ) -> None"
|
||||
)
|
||||
|
||||
|
||||
def test_named_arguments():
|
||||
|
Loading…
Reference in New Issue
Block a user