Skip to content

Commit 3b44af7

Browse files
authored
Merge pull request #75 from rofrano/fix-testcases
Created test cases to bring JCodeAnalyzer, JavaAnalysis, and JavaSitter to 90% test coverage
2 parents 8522093 + c04da6d commit 3b44af7

13 files changed

Lines changed: 118444 additions & 105584 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
*.tar.gz
2727
*.rar
2828

29+
# Don't ignore test fixture zip files
30+
!tests/resources/java/application/daytrader8-1.2.zip
31+
2932
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
3033
hs_err_pid*
3134

cldk/analysis/java/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
Java package
1919
"""
2020

21-
from .java import JavaAnalysis
21+
from .java_analysis import JavaAnalysis
2222

2323
__all__ = ["JavaAnalysis"]

cldk/analysis/java/codeanalyzer/codeanalyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ def _init_codeanalyzer(self, analysis_level=1) -> JApplication:
237237
data = json.load(f)
238238
return JApplication(**data)
239239

240-
def _codeanalyzer_single_file(self):
240+
def _codeanalyzer_single_file(self) -> JApplication:
241241
"""Invokes codeanalyzer in a single file mode.
242242
243243
Returns:
Lines changed: 42 additions & 36 deletions
Large diffs are not rendered by default.

cldk/analysis/java/treesitter/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
Treesitter package
1919
"""
2020

21-
from cldk.analysis.java.treesitter.javasitter import JavaSitter
21+
from cldk.analysis.java.treesitter.java_sitter import JavaSitter
2222

2323
__all__ = ["JavaSitter"]

cldk/analysis/java/treesitter/javasitter.py renamed to cldk/analysis/java/treesitter/java_sitter.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,17 @@
1717
"""
1818
JavaSitter module
1919
"""
20+
import logging
2021
from itertools import groupby
2122
from typing import List, Set, Dict
2223
from tree_sitter import Language, Node, Parser, Query, Tree
2324
import tree_sitter_java as tsjava
24-
from tree_sitter import Language, Node, Parser, Query
25-
2625
from cldk.models.treesitter import Captures
2726

28-
import logging
29-
3027
logger = logging.getLogger(__name__)
3128

3229

30+
# pylint: disable=too-many-public-methods
3331
class JavaSitter:
3432
"""
3533
Treesitter for Java usecases.
@@ -75,7 +73,7 @@ def syntax_error(node):
7573
for child in node.children:
7674
if syntax_error(child):
7775
return True
78-
except RecursionError as err:
76+
except RecursionError:
7977
return True
8078

8179
return False
@@ -108,6 +106,7 @@ def get_all_imports(self, source_code: str) -> Set[str]:
108106
import_declerations: Captures = self.frame_query_and_capture_output(query="(import_declaration (scoped_identifier) @name)", code_to_process=source_code)
109107
return {capture.node.text.decode() for capture in import_declerations}
110108

109+
# TODO: This typo needs to be fixed (i.e., package not pacakge)
111110
def get_pacakge_name(self, source_code: str) -> str:
112111
"""Get the package name from the source code.
113112
@@ -228,7 +227,7 @@ def safe_ascend(self, node: Node, ascend_count: int) -> Node:
228227
def get_call_targets(self, method_body: str, declared_methods: dict) -> Set[str]:
229228
"""Generate a list of call targets from the method body.
230229
231-
Uses simple name resolution for finding the call targets. Nothing sophiscticed here. Just a simple search
230+
Uses simple name resolution for finding the call targets. Nothing sophisticated here. Just a simple search
232231
over the AST.
233232
234233
Parameters

tests/analysis/java/test_java.py

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)