Skip to content

Commit 320e19f

Browse files
committed
test: add unit tests for function and statement properties
1 parent fd0452f commit 320e19f

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

tests/test_function.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ def test_function_parameters(self):
4444
self.assertEqual(parameters[0].text, "argc")
4545
self.assertEqual(parameters[1].text, "argv")
4646

47+
def test_function_statements(self):
48+
statements = self.function.statements
49+
self.assertGreater(len(statements), 0)
50+
4751
def test_function_variables(self):
4852
variables = self.function.variables
4953
self.assertGreater(len(variables), 0)

tests/test_statement.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,47 @@ def test_statement_create(self):
2323
)
2424
self.assertIsNotNone(statement)
2525

26+
def test_statement_lsp(self):
27+
lsp = self.statement.lsp
28+
self.assertIsNotNone(lsp)
29+
30+
def test_statement_variables(self):
31+
variables = self.statement.variables
32+
self.assertGreater(len(variables), 0)
33+
34+
def test_statement_statements(self):
35+
if isinstance(self.statement, scubatrace.BlockStatement):
36+
statements = self.statement.statements
37+
self.assertGreater(len(statements), 0)
38+
39+
def test_statement_pre_data_dependents(self):
40+
dependents = self.statement.pre_data_dependents
41+
self.assertGreater(len(dependents), 0)
42+
43+
def test_statement_post_data_dependents(self):
44+
dependents = self.statement.post_data_dependents
45+
self.assertGreater(len(dependents), 0)
46+
47+
def test_statement_pre_controls(self):
48+
pre_controls = self.statement.pre_controls
49+
self.assertGreater(len(pre_controls), 0)
50+
51+
def test_statement_post_controls(self):
52+
post_controls = self.statement.post_controls
53+
self.assertGreater(len(post_controls), 0)
54+
55+
def test_statement_definitions(self):
56+
definitions = self.statement.definitions
57+
self.assertGreater(len(definitions), 0)
58+
59+
def test_statement_references(self):
60+
references = self.statement.references
61+
self.assertGreater(len(references), 0)
62+
63+
def test_statement_is_taint_from_entry(self):
64+
is_taint_from_entry = self.statement.is_taint_from_entry
65+
self.assertIsInstance(is_taint_from_entry, bool)
66+
2667

2768
class TestJavaScriptStatement(unittest.TestCase):
2869
def setUp(self):

0 commit comments

Comments
 (0)