Skip to content

Commit ca5b18a

Browse files
committed
Fix linter problem reports when global scope used, fixes #343
1 parent 0d71b37 commit ca5b18a

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## [master]
4+
5+
### Changed
6+
- Fixed linter problem reports when global scope is used
7+
38
## [4.3.3] 2024-11-02
49

510
### Changed

gdtoolkit/common/ast.py

+1
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ def __init__(self, parse_tree: Tree):
114114
if parse_tree.data == "start":
115115
start = parse_tree
116116
self._load_data_from_node_children(start)
117+
self.name = "global scope"
117118
elif parse_tree.data == "class_def":
118119
self._load_data_from_class_def(parse_tree)
119120
else:

tests/linter/test_executable.py

+9
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,12 @@ def test_pretty_printing_unexpected_token(tmp_path):
4848
assert len(outcome.stdout.decode().splitlines()) == 0
4949
assert len(outcome.stderr.decode().splitlines()) > 0
5050
assert "Traceback" not in outcome.stderr.decode()
51+
52+
53+
def test_linter_problem_report_in_global_scope(tmp_path):
54+
dummy_file = write_file(tmp_path, "script.gd", "var foo = 1\nconst X = 1")
55+
outcome = subprocess.run(["gdlint", dummy_file], check=False, capture_output=True)
56+
assert outcome.returncode == 1
57+
assert len(outcome.stdout.decode().splitlines()) == 0
58+
assert len(outcome.stderr.decode().splitlines()) >= 0
59+
assert "Definition out of order in global scope" in outcome.stderr.decode()

0 commit comments

Comments
 (0)