def test_import_detection(self):
        sf = self.project.get_file('sample_files/IssuesFragment.java')
        self.assertTrue(sf.language_detected)
        self.assertEqual(sf.language, Language.JAVA)
        self.assertTrue(sf.parsed)
        self.assertEqual(len(sf.imports), 43)

        # specific check for one import
        im = sf.imports[13]
        known_usages = [31, 87, 126]
        self.assertEqual(im.imported_identifier, 'ImageView')
        self.assertListEqual(im.find_usages(), known_usages)
        for i in range(len(sf.lines)):
            ln = i + 1
            self.assertEqual(has_word(sf.get_line(ln), 'ImageView'), ln
                             in known_usages)

        # general check for other imports
        for im in sf.imports:
            identifier = im.imported_identifier
            if identifier == '*':
                continue
            usages = im.find_usages()
            for l in usages:
                self.assertTrue(sf.get_line(l).find(identifier) > -1)
Beispiel #2
0
    def find_usages(self):
        if not self.source_file:
            return None

        identifier = self.imported_identifier
        usage_lines = []
        for i, l in enumerate(self.source_file._lines):
            if has_word(l, identifier):
                usage_lines.append(i + 1)
        return usage_lines
Beispiel #3
0
    def find_usages(self):
        if not self.source_file:
            return None

        identifier = self.imported_identifier
        usage_lines = []
        for i, l in enumerate(self.source_file._lines):
            if has_word(l, identifier):
                usage_lines.append(i + 1)
        return usage_lines
Beispiel #4
0
 def test_has_word(self):
     string = 'inspector.analyzer.func()'
     self.assertTrue(has_word(string, 'inspector'))
     self.assertTrue(has_word(string, 'analyzer'))
     self.assertFalse(has_word(string, 'analyze'))
     self.assertFalse(has_word(string, 'alyzer'))
     self.assertTrue(has_word(string, 'func'))
     self.assertFalse(has_word(string, 'fun'))
     self.assertTrue(has_word(string, 'analyzer.func'))
Beispiel #5
0
 def test_has_word(self):
     string = 'inspector.analyzer.func()'
     self.assertTrue(has_word(string, 'inspector'))
     self.assertTrue(has_word(string, 'analyzer'))
     self.assertFalse(has_word(string, 'analyze'))
     self.assertFalse(has_word(string, 'alyzer'))
     self.assertTrue(has_word(string, 'func'))
     self.assertFalse(has_word(string, 'fun'))
     self.assertTrue(has_word(string, 'analyzer.func'))
    def test_import_detection(self):
        sf = self.project.get_file('sample_files/IssuesFragment.java')
        self.assertTrue(sf.language_detected)
        self.assertEqual(sf.language, Language.JAVA)
        self.assertTrue(sf.parsed)
        self.assertEqual(len(sf.imports), 43)

        # specific check for one import
        im = sf.imports[13]
        known_usages = [31, 87, 126]
        self.assertEqual(im.imported_identifier, 'ImageView')
        self.assertListEqual(im.find_usages(), known_usages)
        for i in range(len(sf.lines)):
            ln = i + 1
            self.assertEqual(has_word(sf.get_line(ln), 'ImageView'), ln in known_usages)

        # general check for other imports
        for im in sf.imports:
            identifier = im.imported_identifier
            if identifier == '*':
                continue
            usages = im.find_usages()
            for l in usages:
                self.assertTrue(sf.get_line(l).find(identifier) > -1)