import types
import inspect
import importlib
+import builtins
import unittest
import re
import tempfile
actual = self.get_suggestion(func)
self.assertIn("'ZeroDivisionError'?", actual)
+ def test_name_error_suggestions_from_builtins_when_builtins_is_module(self):
+ def func():
+ custom_globals = globals().copy()
+ custom_globals["__builtins__"] = builtins
+ print(eval("ZeroDivisionErrrrr", custom_globals))
+ actual = self.get_suggestion(func)
+ self.assertIn("'ZeroDivisionError'?", actual)
+
def test_name_error_suggestions_do_not_trigger_for_long_names(self):
def func():
somethingverywronghehehehehehe = None
d = (
list(frame.f_locals)
+ list(frame.f_globals)
- + list(frame.f_globals['__builtins__'])
+ + list(frame.f_builtins)
)
if len(d) > _MAX_CANDIDATE_ITEMS:
return None