Ejemplo n.º 1
0
 def test_returnsEmptyListIfNoReferences(self):
     src = trimLines("""
     class MyClass:
         pass
     a = TheClass()
     """)
     root = createSourceNodeAt(src,"mymodule")
     self.assertEqual([x for x in getReferencesToModule(root,"myothermodule")],[])
Ejemplo n.º 2
0
 def test_returnsEmptyListIfNoReferences(self):
     src = trimLines("""
     class MyClass:
         pass
     a = TheClass()
     """)
     root = createSourceNodeAt(src, "mymodule")
     self.assertEqual(
         [x for x in getReferencesToModule(root, "myothermodule")], [])
Ejemplo n.º 3
0
    def test_findsReferenceInMultiLineImportStatement(self):
        src =trimLines("""
        from b import foo, \\
                  TheFooBah, TheClass, TheBastard, SomethingElse, bah
        """)

        root = createSourceNodeAt( src, "a.foo")
        root = createSourceNodeAt( testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root,"a.b.bah")]
        self.assertEqual(refs[0].filename,os.path.abspath(os.path.join("a","foo.py")))
        self.assertEqual(refs[0].lineno,2)
        self.assertEqual(refs[0].colno,58)
        self.assertEqual(refs[0].confidence,100)
Ejemplo n.º 4
0
    def test_findsReferenceInMultiLineImportStatement(self):
        src = trimLines("""
        from b import foo, \\
                  TheFooBah, TheClass, TheBastard, SomethingElse, bah
        """)

        root = createSourceNodeAt(src, "a.foo")
        root = createSourceNodeAt(testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root, "a.b.bah")]
        self.assertEqual(refs[0].filename,
                         os.path.abspath(os.path.join("a", "foo.py")))
        self.assertEqual(refs[0].lineno, 2)
        self.assertEqual(refs[0].colno, 58)
        self.assertEqual(refs[0].confidence, 100)
Ejemplo n.º 5
0
    def test_findsReferenceInModuleWhichImportsModuleWithFromImportStar(self):
        src = trimLines("""
        from b.bah import *
        a = TheClass()
        a.theMethod()
        """)

        root = createSourceNodeAt( src, "a.foo")
        root = createSourceNodeAt( testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root,"a.b.bah")]

        self.assertEqual(refs[0].filename,os.path.abspath(os.path.join("a","foo.py")))
        self.assertEqual(refs[0].lineno,1)
        self.assertEqual(refs[0].colno,7)
        self.assertEqual(refs[0].confidence,100)
Ejemplo n.º 6
0
    def test_findsReferenceInClassBases(self):
        src =trimLines("""
        from b import bah
        class DerivedClass(bah.TheClass):
            pass
        """)

        root = createSourceNodeAt(src, "a.foo")
        root = createSourceNodeAt(testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root,"a.b.bah")]
        
        self.assertEqual(refs[1].filename,os.path.abspath(os.path.join("a","foo.py")))
        self.assertEqual(refs[1].lineno,2)
        self.assertEqual(refs[1].colno,19)
        self.assertEqual(refs[1].confidence,100)
Ejemplo n.º 7
0
    def test_findsReferenceInClassBases(self):
        src = trimLines("""
        from b import bah
        class DerivedClass(bah.TheClass):
            pass
        """)

        root = createSourceNodeAt(src, "a.foo")
        root = createSourceNodeAt(testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root, "a.b.bah")]

        self.assertEqual(refs[1].filename,
                         os.path.abspath(os.path.join("a", "foo.py")))
        self.assertEqual(refs[1].lineno, 2)
        self.assertEqual(refs[1].colno, 19)
        self.assertEqual(refs[1].confidence, 100)
Ejemplo n.º 8
0
    def test_findsReferenceInModuleWhichImportsModuleWithFromImportStar(self):
        src = trimLines("""
        from b.bah import *
        a = TheClass()
        a.theMethod()
        """)

        root = createSourceNodeAt(src, "a.foo")
        root = createSourceNodeAt(testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root, "a.b.bah")]

        self.assertEqual(refs[0].filename,
                         os.path.abspath(os.path.join("a", "foo.py")))
        self.assertEqual(refs[0].lineno, 1)
        self.assertEqual(refs[0].colno, 7)
        self.assertEqual(refs[0].confidence, 100)
Ejemplo n.º 9
0
    def test_findsReferenceWhenModulenameSameAsClassMethodName(self):
        # asserts that brm doesnt search class scope after not finding name
        # in method scope (since class scope is invisible unless called on 'self'
        src =trimLines("""
        from a.b import bah
        class baz:
            def bah(self):
                print bah.TheClass
        """)        

        root = createSourceNodeAt( src, "a.foo")
        root = createSourceNodeAt( testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root,"a.b.bah")]
        
        self.assertEqual(refs[0].filename,os.path.abspath(os.path.join("a","foo.py")))
        self.assertEqual(refs[0].lineno,1)
        self.assertEqual(refs[0].colno,16)
        self.assertEqual(refs[0].confidence,100)
        
        assert (len(refs))==2
Ejemplo n.º 10
0
    def test_findsReferenceWhenModulenameSameAsClassMethodName(self):
        # asserts that brm doesnt search class scope after not finding name
        # in method scope (since class scope is invisible unless called on 'self'
        src = trimLines("""
        from a.b import bah
        class baz:
            def bah(self):
                print bah.TheClass
        """)

        root = createSourceNodeAt(src, "a.foo")
        root = createSourceNodeAt(testdata.TheClass, "a.b.bah")
        refs = [x for x in getReferencesToModule(root, "a.b.bah")]

        self.assertEqual(refs[0].filename,
                         os.path.abspath(os.path.join("a", "foo.py")))
        self.assertEqual(refs[0].lineno, 1)
        self.assertEqual(refs[0].colno, 16)
        self.assertEqual(refs[0].confidence, 100)

        assert (len(refs)) == 2