Merge pull request #6607 from asottile/empty_string_parametrize_nodeid
Fix node ids which contain a parametrized empty-string variable
This commit is contained in:
commit
595d62bc3e
|
@ -0,0 +1 @@
|
||||||
|
Fix node ids which contain a parametrized empty-string variable.
|
|
@ -873,7 +873,7 @@ class CallSpec2:
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def id(self):
|
def id(self):
|
||||||
return "-".join(map(str, filter(None, self._idlist)))
|
return "-".join(map(str, self._idlist))
|
||||||
|
|
||||||
def setmulti2(self, valtypes, argnames, valset, id, marks, scopenum, param_index):
|
def setmulti2(self, valtypes, argnames, valset, id, marks, scopenum, param_index):
|
||||||
for arg, val in zip(argnames, valset):
|
for arg, val in zip(argnames, valset):
|
||||||
|
|
|
@ -492,6 +492,19 @@ class TestFunction:
|
||||||
)
|
)
|
||||||
assert "foo" in keywords[1] and "bar" in keywords[1] and "baz" in keywords[1]
|
assert "foo" in keywords[1] and "bar" in keywords[1] and "baz" in keywords[1]
|
||||||
|
|
||||||
|
def test_parametrize_with_empty_string_arguments(self, testdir):
|
||||||
|
items = testdir.getitems(
|
||||||
|
"""\
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('v', ('', ' '))
|
||||||
|
@pytest.mark.parametrize('w', ('', ' '))
|
||||||
|
def test(v, w): ...
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
names = {item.name for item in items}
|
||||||
|
assert names == {"test[-]", "test[ -]", "test[- ]", "test[ - ]"}
|
||||||
|
|
||||||
def test_function_equality_with_callspec(self, testdir):
|
def test_function_equality_with_callspec(self, testdir):
|
||||||
items = testdir.getitems(
|
items = testdir.getitems(
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue