CompiledObject.get_index_types implementation example

This commit is contained in:
Dave Halter
2014-04-03 19:05:29 +02:00
parent 1facdb2961
commit b8987fe451
2 changed files with 14 additions and 1 deletions

View File

@@ -93,6 +93,16 @@ class CompiledObject(Base):
else:
raise KeyError("CompiledObject doesn't have an attribute '%s'." % name)
def get_index_types(self, mixed_obj):
# If the object doesn't have `__getitem__`, just raise the
# AttributeError.
self.obj.__getitem__
try:
self.obj[mixed_obj]
except (KeyError, IndexError):
raise AttributeError()
@property
def name(self):
# might not exist sometimes (raises AttributeError)

View File

@@ -44,7 +44,10 @@ class TestInterpreterAPI(TestCase):
completions)
def test_list(self):
array = ['haha']
array = ['haha', 1]
self.check_interpreter_complete('array[0].uppe',
locals(),
['upper'])
self.check_interpreter_complete('array[0].real',
locals(),
[])