')
self.assertAccess('from sys import ')
self.assertAccess('from sys import |path')
self.assertAccess('from sys| import path')
self.assertAccess('from s|ys import path')
self.assertAccess('from |sys import path')
self.assertAccess('from xml.dom import ')
# because syntax error
self.assertAccess('from xml.dom import Node.as|d')
class TestCurrentImport(LineTestCase):
def setUp(self):
self.func = current_import
def test_simple(self):
self.assertAccess('import ')
self.assertAccess('import ')
self.assertAccess('import |path')
self.assertAccess('import path, ')
self.assertAccess('import path another|')
self.assertAccess('if True: import ')
self.assertAccess('if True: import ')
self.assertAccess('if True: import ')
self.assertAccess('if True: import as something')
class TestMethodDefinitionName(LineTestCase):
def setUp(self):
self.func = current_method_definition_name
def test_simple(self):
self.assertAccess('def ')
self.assertAccess(' def bar(x, y)|:')
self.assertAccess(' def (x, y)')
class TestSingleWord(LineTestCase):
def setUp(self):
self.func = current_single_word
def test_simple(self):
self.assertAccess('foo.bar|')
self.assertAccess('.foo|')
self.assertAccess(' ')
class TestCurrentExpressionAttribute(LineTestCase):
def setUp(self):
self.func = current_expression_attribute
def test_simple(self):
self.assertAccess('Object..')
self.assertAccess('Object.<|attr1>.')
self.assertAccess('Object.(|)')
self.assertAccess('Object.another.(|)')
self.assertAccess('asdf asdf asdf.(abc|)')
def test_without_dot(self):
self.assertAccess('Object|')
self.assertAccess('Object|.')
self.assertAccess('|Object.')
def test_with_whitespace(self):
self.assertAccess('Object. ')
self.assertAccess('Object .')
self.assertAccess('Object . ')
self.assertAccess('Object .asdf attr|')
self.assertAccess('Object . attr')
self.assertAccess('Object. asdf attr|')
self.assertAccess('Object. attr')
self.assertAccess('Object . asdf attr|')
self.assertAccess('Object . attr')
def test_indexing(self):
self.assertAccess('abc[def].')
self.assertAccess('abc[def].<|ghi>')
self.assertAccess('abc[def].')
self.assertAccess('abc[def].gh |i')
self.assertAccess('abc[def]|')
def test_strings(self):
self.assertAccess('"hey".')
self.assertAccess('"hey"|')
self.assertAccess('"hey"|.a')
self.assertAccess('"hey".')
self.assertAccess('"hey".asdf d|')
self.assertAccess('"hey".<|>')
class TestCurrentDottedAttribute(LineTestCase):
def setUp(self):
self.func = current_dotted_attribute
def test_simple(self):
self.assertAccess('|')
self.assertAccess('(|')
self.assertAccess('[|')
self.assertAccess('m.body[0].value|')
self.assertAccess('m.body[0].attr.value|')
if __name__ == '__main__':
unittest.main()