mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
gh-131936: Strengthen check in _suggestions._generate_suggestions
(#131945)
This commit is contained in:
parent
0f511d8b44
commit
511d3440a0
2 changed files with 26 additions and 2 deletions
|
@ -4619,7 +4619,31 @@ class MiscTest(unittest.TestCase):
|
||||||
@cpython_only
|
@cpython_only
|
||||||
def test_suggestions_extension(self):
|
def test_suggestions_extension(self):
|
||||||
# Check that the C extension is available
|
# Check that the C extension is available
|
||||||
import _suggestions # noqa: F401
|
import _suggestions
|
||||||
|
|
||||||
|
self.assertEqual(
|
||||||
|
_suggestions._generate_suggestions(
|
||||||
|
["hello", "world"],
|
||||||
|
"hell"
|
||||||
|
),
|
||||||
|
"hello"
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
_suggestions._generate_suggestions(
|
||||||
|
["hovercraft"],
|
||||||
|
"eels"
|
||||||
|
),
|
||||||
|
None
|
||||||
|
)
|
||||||
|
|
||||||
|
# gh-131936: _generate_suggestions() doesn't accept list subclasses
|
||||||
|
class MyList(list):
|
||||||
|
pass
|
||||||
|
|
||||||
|
with self.assertRaises(TypeError):
|
||||||
|
_suggestions._generate_suggestions(MyList(), "")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TestColorizedTraceback(unittest.TestCase):
|
class TestColorizedTraceback(unittest.TestCase):
|
||||||
|
|
|
@ -21,7 +21,7 @@ _suggestions__generate_suggestions_impl(PyObject *module,
|
||||||
/*[clinic end generated code: output=79be7b653ae5e7ca input=ba2a8dddc654e33a]*/
|
/*[clinic end generated code: output=79be7b653ae5e7ca input=ba2a8dddc654e33a]*/
|
||||||
{
|
{
|
||||||
// Check if dir is a list
|
// Check if dir is a list
|
||||||
if (!PyList_Check(candidates)) {
|
if (!PyList_CheckExact(candidates)) {
|
||||||
PyErr_SetString(PyExc_TypeError, "candidates must be a list");
|
PyErr_SetString(PyExc_TypeError, "candidates must be a list");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue