示例#1
0
 def test_from_import_star(self):
     mod = self.pycore.get_string_module('from samplemod import *\n')
     self.assertEquals(get_base_type('Type'),
                       mod['SampleClass'].get_object().get_type())
     self.assertEquals(get_base_type('Function'),
                       mod['sample_func'].get_object().get_type())
     self.assertTrue(mod['sample_var'] is not None)
示例#2
0
 def test_from_import_star(self):
     mod = self.pycore.get_string_module('from samplemod import *\n')
     self.assertEquals(get_base_type('Type'),
                       mod['SampleClass'].get_object().get_type())
     self.assertEquals(get_base_type('Function'),
                       mod['sample_func'].get_object().get_type())
     self.assertTrue(mod['sample_var'] is not None)
示例#3
0
 def test_nested_modules(self):
     pkg = testutils.create_package(self.project, 'pkg')
     mod = testutils.create_module(self.project, 'mod', pkg)  # noqa
     package = self.project.get_module('pkg')
     self.assertEquals(get_base_type('Module'), package.get_type())
     self.assertEquals(1, len(package.get_attributes()))
     module = package['mod'].get_object()
     self.assertEquals(get_base_type('Module'), module.get_type())
示例#4
0
 def test_nested_modules(self):
     pkg = testutils.create_package(self.project, 'pkg')
     mod = testutils.create_module(self.project, 'mod', pkg)
     package = self.pycore.get_module('pkg')
     self.assertEquals(get_base_type('Module'), package.get_type())
     self.assertEquals(1, len(package.get_attributes()))
     module = package['mod'].get_object()
     self.assertEquals(get_base_type('Module'), module.get_type())
示例#5
0
 def test_from_import_nonexistent_name(self):
     code = 'from samplemod import DoesNotExistClass\n'
     mod = self.pycore.get_string_module(code)
     self.assertTrue('DoesNotExistClass' in mod)
     self.assertEquals(get_base_type('Unknown'),
                       mod['DoesNotExistClass'].
                       get_object().get_type())
示例#6
0
 def test_imported_names(self):
     testutils.create_module(self.project, 'mod1')
     mod = testutils.create_module(self.project, 'mod2')
     mod.write('import mod1\n')
     module = self.pycore.get_module('mod2')
     imported_sys = module['mod1'].get_object()
     self.assertEquals(get_base_type('Module'), imported_sys.get_type())
示例#7
0
 def test_imported_names(self):
     testutils.create_module(self.project, 'mod1')
     mod = testutils.create_module(self.project, 'mod2')
     mod.write('import mod1\n')
     module = self.project.get_module('mod2')
     imported_sys = module['mod1'].get_object()
     self.assertEquals(get_base_type('Module'), imported_sys.get_type())
示例#8
0
 def test_classes_inside_other_classes(self):
     mod = testutils.create_module(self.project, 'mod')
     mod.write('class SampleClass(object):\n    class InnerClass(object):\n        pass\n\n')
     mod_element = self.pycore.get_module('mod')
     sample_class = mod_element['SampleClass'].get_object()
     var = sample_class['InnerClass'].get_object()
     self.assertEquals(get_base_type('Type'), var.get_type())
示例#9
0
 def test_imported_as_names(self):
     testutils.create_module(self.project, 'mod1')
     mod = testutils.create_module(self.project, 'mod2')
     mod.write('import mod1 as my_import\n')
     module = self.project.get_module('mod2')
     imported_mod = module['my_import'].get_object()
     self.assertEquals(get_base_type('Module'), imported_mod.get_type())
示例#10
0
 def test_from_import_nonexistent_name(self):
     code = 'from samplemod import DoesNotExistClass\n'
     mod = libutils.get_string_module(self.project, code)
     self.assertTrue('DoesNotExistClass' in mod)
     self.assertEquals(get_base_type('Unknown'),
                       mod['DoesNotExistClass'].
                       get_object().get_type())
示例#11
0
 def test_imported_as_names(self):
     testutils.create_module(self.project, 'mod1')
     mod = testutils.create_module(self.project, 'mod2')
     mod.write('import mod1 as my_import\n')
     module = self.pycore.get_module('mod2')
     imported_mod = module['my_import'].get_object()
     self.assertEquals(get_base_type('Module'), imported_mod.get_type())
示例#12
0
 def test_from_import_nonexistent_module(self):
     code = 'from doesnotexistmod import DoesNotExistClass\n'
     mod = self.pycore.get_string_module(code)
     self.assertTrue('DoesNotExistClass' in mod)
     self.assertEquals(get_base_type('Unknown'),
                       mod['DoesNotExistClass'].
                       get_object().get_type())
示例#13
0
 def test_scope_lookup(self):
     scope = self.pycore.get_string_scope(
         'var1 = 10\ndef sample_func(param):\n    var2 = 20\n')
     self.assertTrue(scope.lookup('var2') is None)
     self.assertEquals(get_base_type('Function'),
                       scope.lookup('sample_func').get_object().get_type())
     sample_func_scope = scope.get_scopes()[0]
     self.assertTrue(sample_func_scope.lookup('var1') is not None)
示例#14
0
 def test_scope_lookup(self):
     scope = self.pycore.get_string_scope(
         'var1 = 10\ndef sample_func(param):\n    var2 = 20\n')
     self.assertTrue(scope.lookup('var2') is None)
     self.assertEquals(get_base_type('Function'),
                       scope.lookup('sample_func').get_object().get_type())
     sample_func_scope = scope.get_scopes()[0]
     self.assertTrue(sample_func_scope.lookup('var1') is not None)
示例#15
0
 def test_inheriting_base_class_attributes(self):
     mod = self.pycore.get_string_module(
         'class Base(object):\n    def method(self):\n        pass\n'
         'class Derived(Base):\n    pass\n')
     derived = mod['Derived'].get_object()
     self.assertTrue('method' in derived)
     self.assertEquals(get_base_type('Function'),
                       derived['method'].get_object().get_type())
示例#16
0
 def test_classes_inside_function_scopes(self):
     scope = self.pycore.get_string_scope(
         'def sample_func():\n'
         '    class SampleClass(object):\n        pass\n')
     self.assertEquals(1, len(scope.get_scopes()))
     sample_func_scope = scope.get_scopes()[0]
     self.assertEquals(get_base_type('Type'),
                       scope.get_scopes()[0]['SampleClass'].get_object().get_type())
示例#17
0
 def test_class_methods(self):
     mod = testutils.create_module(self.project, 'mod')
     mod.write('class SampleClass(object):\n    def sample_method(self):\n        pass\n')
     mod_element = self.pycore.get_module('mod')
     sample_class = mod_element['SampleClass'].get_object()
     self.assertTrue('sample_method' in sample_class)
     method = sample_class['sample_method'].get_object()
     self.assertEquals(get_base_type('Function'), method.get_type())
示例#18
0
 def test_classes_inside_function_scopes(self):
     scope = self.pycore.get_string_scope(
         'def sample_func():\n'
         '    class SampleClass(object):\n        pass\n')
     self.assertEquals(1, len(scope.get_scopes()))
     sample_func_scope = scope.get_scopes()[0]
     self.assertEquals(get_base_type('Type'),
                       scope.get_scopes()[0]['SampleClass'].get_object().get_type())
示例#19
0
    def test_simple_scope(self):
        code = dedent("""\
            def sample_func():
                pass
        """)
        scope = libutils.get_string_scope(self.project, code)

        sample_func = scope["sample_func"].get_object()
        self.assertEqual(get_base_type("Function"), sample_func.get_type())
示例#20
0
 def test_classes_inside_other_classes(self):
     mod = testutils.create_module(self.project, 'mod')
     code = 'class SampleClass(object):\n' \
            '    class InnerClass(object):\n' \
            '        pass\n\n'
     mod.write(code)
     mod_element = self.project.get_module('mod')
     sample_class = mod_element['SampleClass'].get_object()
     var = sample_class['InnerClass'].get_object()
     self.assertEquals(get_base_type('Type'), var.get_type())
示例#21
0
 def test_class_methods(self):
     mod = testutils.create_module(self.project, 'mod')
     code = 'class SampleClass(object):\n' \
            '    def sample_method(self):\n' \
            '        pass\n'
     mod.write(code)
     mod_element = self.project.get_module('mod')
     sample_class = mod_element['SampleClass'].get_object()
     self.assertTrue('sample_method' in sample_class)
     method = sample_class['sample_method'].get_object()
     self.assertEquals(get_base_type('Function'), method.get_type())
示例#22
0
 def test_inheriting_base_class_attributes(self):
     code = 'class Base(object):\n' \
            '    def method(self):\n' \
            '        pass\n' \
            'class Derived(Base):\n' \
            '    pass\n'
     mod = libutils.get_string_module(self.project, code)
     derived = mod['Derived'].get_object()
     self.assertTrue('method' in derived)
     self.assertEquals(get_base_type('Function'),
                       derived['method'].get_object().get_type())
示例#23
0
 def test_inheriting_base_class_attributes(self):
     code = 'class Base(object):\n' \
            '    def method(self):\n' \
            '        pass\n' \
            'class Derived(Base):\n' \
            '    pass\n'
     mod = libutils.get_string_module(self.project, code)
     derived = mod['Derived'].get_object()
     self.assertTrue('method' in derived)
     self.assertEquals(get_base_type('Function'),
                       derived['method'].get_object().get_type())
示例#24
0
    def test_classes_inside_function_scopes(self):
        code = dedent("""\
            def sample_func():
                class SampleClass(object):
                    pass
        """)
        scope = libutils.get_string_scope(self.project, code)

        self.assertEqual(1, len(scope.get_scopes()))
        sample_func_scope = scope.get_scopes()[0]  # noqa
        self.assertEqual(
            get_base_type("Type"),
            scope.get_scopes()[0]["SampleClass"].get_object().get_type(),
        )
示例#25
0
    def test_scope_lookup(self):
        code = dedent("""\
            var1 = 10
            def sample_func(param):
                var2 = 20
        """)
        scope = libutils.get_string_scope(self.project, code)

        self.assertTrue(scope.lookup("var2") is None)
        self.assertEqual(
            get_base_type("Function"),
            scope.lookup("sample_func").get_object().get_type(),
        )
        sample_func_scope = scope.get_scopes()[0]
        self.assertTrue(sample_func_scope.lookup("var1") is not None)
示例#26
0
 def test_simple_module(self):
     testutils.create_module(self.project, 'mod')
     result = self.pycore.get_module('mod')
     self.assertEquals(get_base_type('Module'), result.type)
     self.assertEquals(0, len(result.get_attributes()))
示例#27
0
 def test_simple_function(self):
     mod = testutils.create_module(self.project, 'mod')
     mod.write('def sample_function():\n    pass\n')
     mod_element = self.project.get_module('mod')
     result = mod_element['sample_function'].get_object()
     self.assertEquals(get_base_type('Function'), result.get_type())
示例#28
0
 def xxx_test_not_found_module_is_module(self):
     mod = self.pycore.get_string_module('import doesnotexist\n')
     self.assertEquals(get_base_type('Module'),
                       mod['doesnotexist'].
                       get_object().get_type())
示例#29
0
 def test_get_string_module(self):
     mod = self.pycore.get_string_module('class Sample(object):\n    pass\n')
     sample_class = mod['Sample'].get_object()
     self.assertEquals(get_base_type('Type'), sample_class.get_type())
示例#30
0
 def test_from_package_import_mod(self):
     mod = libutils.get_string_module(self.project,
                                      'from package import nestedmod\n')
     self.assertEquals(get_base_type('Module'),
                       mod['nestedmod'].get_object().get_type())
示例#31
0
 def test_lambda_functions(self):
     self.mod.write("l = lambda: 1\n")
     pymod = self.project.get_pymodule(self.mod)
     l_var = pymod["l"].get_object()
     self.assertEqual(pyobjects.get_base_type("Function"), l_var.get_type())
示例#32
0
 def test_simple_class(self):
     mod = testutils.create_module(self.project, 'mod')
     mod.write('class SampleClass(object):\n    pass\n')
     mod_element = self.pycore.get_module('mod')
     result = mod_element['SampleClass'].get_object()
     self.assertEquals(get_base_type('Type'), result.get_type())
示例#33
0
 def test_from_import_class(self):
     mod = self.pycore.get_string_module('from samplemod import SampleClass\n')
     result = mod['SampleClass'].get_object()
     self.assertEquals(get_base_type('Type'), result.get_type())
     self.assertTrue('sample_func' not in mod.get_attributes())
示例#34
0
 def test_from_import_function(self):
     code = 'def f():\n    from samplemod import SampleClass\n'
     scope = libutils.get_string_scope(self.project, code)
     self.assertEquals(get_base_type('Type'),
                       scope.get_scopes()[0]['SampleClass'].
                       get_object().get_type())
示例#35
0
 def test_simple_import(self):
     mod = libutils.get_string_module(self.project, 'import samplemod\n')
     samplemod = mod['samplemod'].get_object()
     self.assertEquals(get_base_type('Module'), samplemod.get_type())
示例#36
0
 def test_simple_module(self):
     testutils.create_module(self.project, 'mod')
     result = self.project.get_module('mod')
     self.assertEquals(get_base_type('Module'), result.type)
     self.assertEquals(0, len(result.get_attributes()))
示例#37
0
 def test_lambda_functions(self):
     self.mod.write('l = lambda: 1\n')
     pymod = self.pycore.resource_to_pyobject(self.mod)
     l_var = pymod['l'].get_object()
     self.assertEquals(pyobjects.get_base_type('Function'),
                       l_var.get_type())
示例#38
0
 def test_simple_scope(self):
     scope = libutils.get_string_scope(self.project,
                                       'def sample_func():\n    pass\n')
     sample_func = scope['sample_func'].get_object()
     self.assertEqual(get_base_type('Function'), sample_func.get_type())
示例#39
0
 def test_simple_scope(self):
     scope = self.pycore.get_string_scope('def sample_func():\n    pass\n')
     sample_func = scope['sample_func'].get_object()
     self.assertEquals(get_base_type('Function'), sample_func.get_type())
示例#40
0
 def test_from_package_import_mod(self):
     mod = self.pycore.get_string_module('from package import nestedmod\n')
     self.assertEquals(get_base_type('Module'),
                       mod['nestedmod'].get_object().get_type())
示例#41
0
 def test_package(self):
     pkg = testutils.create_package(self.project, 'pkg')
     mod = testutils.create_module(self.project, 'mod', pkg)
     result = self.pycore.get_module('pkg')
     self.assertEquals(get_base_type('Module'), result.type)
示例#42
0
 def test_from_import_nonexistent_name(self):
     mod = self.pycore.get_string_module('from samplemod import DoesNotExistClass\n')
     self.assertTrue('DoesNotExistClass' in mod)
     self.assertEquals(get_base_type('Unknown'),
                       mod['DoesNotExistClass'].
                       get_object().get_type())
示例#43
0
 def test_simple_function(self):
     mod = testutils.create_module(self.project, 'mod')
     mod.write('def sample_function():\n    pass\n')
     mod_element = self.pycore.get_module('mod')
     result = mod_element['sample_function'].get_object()
     self.assertEquals(get_base_type('Function'), result.get_type())
示例#44
0
 def test_simple_class(self):
     mod = testutils.create_module(self.project, 'mod')
     mod.write('class SampleClass(object):\n    pass\n')
     mod_element = self.project.get_module('mod')
     result = mod_element['SampleClass'].get_object()
     self.assertEquals(get_base_type('Type'), result.get_type())
示例#45
0
 def test_simple_import(self):
     mod = self.pycore.get_string_module('import samplemod\n')
     samplemod = mod['samplemod'].get_object()
     self.assertEquals(get_base_type('Module'), samplemod.get_type())
示例#46
0
 def test_from_import_class(self):
     mod = libutils.get_string_module(
         self.project, 'from samplemod import SampleClass\n')
     result = mod['SampleClass'].get_object()
     self.assertEquals(get_base_type('Type'), result.get_type())
     self.assertTrue('sample_func' not in mod.get_attributes())
示例#47
0
 def test_simple_scope(self):
     scope = self.pycore.get_string_scope('def sample_func():\n    pass\n')
     sample_func = scope['sample_func'].get_object()
     self.assertEquals(get_base_type('Function'), sample_func.get_type())
示例#48
0
 def xxx_test_not_found_module_is_module(self):
     mod = libutils.get_string_module(self.project, 'import doesnotexist\n')
     self.assertEquals(get_base_type('Module'),
                       mod['doesnotexist'].get_object().get_type())
示例#49
0
 def test_from_import_function(self):
     scope = self.pycore.get_string_scope('def f():\n    from samplemod import SampleClass\n')
     self.assertEquals(get_base_type('Type'),
                       scope.get_scopes()[0]['SampleClass'].
                       get_object().get_type())
示例#50
0
 def test_get_string_module(self):
     mod = libutils.get_string_module(self.project,
                                      'class Sample(object):\n    pass\n')
     sample_class = mod['Sample'].get_object()
     self.assertEquals(get_base_type('Type'), sample_class.get_type())
示例#51
0
 def test_from_import_function(self):
     code = 'def f():\n    from samplemod import SampleClass\n'
     scope = libutils.get_string_scope(self.project, code)
     self.assertEquals(
         get_base_type('Type'),
         scope.get_scopes()[0]['SampleClass'].get_object().get_type())
示例#52
0
 def test_package(self):
     pkg = testutils.create_package(self.project, 'pkg')
     mod = testutils.create_module(self.project, 'mod', pkg)  # noqa
     result = self.project.get_module('pkg')
     self.assertEquals(get_base_type('Module'), result.type)
示例#53
0
 def test_lambda_functions(self):
     self.mod.write('l = lambda: 1\n')
     pymod = self.project.get_pymodule(self.mod)
     l_var = pymod['l'].get_object()
     self.assertEquals(pyobjects.get_base_type('Function'),
                       l_var.get_type())
示例#54
0
 def test_from_import_nonexistent_module(self):
     code = 'from doesnotexistmod import DoesNotExistClass\n'
     mod = libutils.get_string_module(self.project, code)
     self.assertTrue('DoesNotExistClass' in mod)
     self.assertEquals(get_base_type('Unknown'),
                       mod['DoesNotExistClass'].get_object().get_type())