Skip to content

Commit bab2e80

Browse files
committed
test: align stub checks with non-deprecated constants
1 parent 80ff72d commit bab2e80

2 files changed

Lines changed: 21 additions & 31 deletions

File tree

tests/test_pyray_stub_parity.py

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -31,43 +31,32 @@ def _top_level_names(module: ast.Module) -> set[str]:
3131
return names
3232

3333

34-
def _enum_member_names(module: ast.Module) -> set[str]:
35-
names: set[str] = set()
36-
for node in module.body:
37-
if not isinstance(node, ast.ClassDef):
38-
continue
39-
if not any(isinstance(base, ast.Name) and base.id == "int" for base in node.bases):
40-
continue
41-
for class_node in node.body:
42-
if not isinstance(class_node, ast.Assign):
43-
continue
44-
for target in class_node.targets:
45-
if isinstance(target, ast.Name) and target.id.isupper():
46-
names.add(target.id)
47-
return names
48-
49-
50-
def test_enum_members_are_available_as_module_constants() -> None:
51-
module = _parse_stub()
52-
missing = sorted(_enum_member_names(module) - _top_level_names(module))
53-
assert not missing, (
54-
"Missing module-level constants for enum members; "
55-
f"first missing names: {missing[:15]}"
56-
)
57-
58-
5934
def test_stub_includes_expected_smoke_constants() -> None:
6035
module_names = _top_level_names(_parse_stub())
6136
required_names = {
62-
"BLEND_ALPHA",
63-
"MOUSE_BUTTON_LEFT",
37+
"RL_FUNC_ADD",
38+
"RL_ONE",
39+
"RL_ONE_MINUS_SRC_ALPHA",
6440
"RL_QUADS",
6541
"RL_SRC_ALPHA",
66-
"TEXTURE_FILTER_POINT",
42+
"RL_ZERO",
6743
}
6844
assert required_names.issubset(module_names)
6945

7046

47+
def test_stub_excludes_deprecated_shorthand_constants() -> None:
48+
module_names = _top_level_names(_parse_stub())
49+
omitted_names = {
50+
"ARROWS_SIZE",
51+
"BLEND_ALPHA",
52+
"MOUSE_BUTTON_LEFT",
53+
"SHADER_LOC_MATRIX_MVP",
54+
"SHADER_UNIFORM_FLOAT",
55+
"TEXTURE_FILTER_POINT",
56+
}
57+
assert omitted_names.isdisjoint(module_names)
58+
59+
7160
def test_texture2d_is_a_texture_alias() -> None:
7261
module = _parse_stub()
7362
class_names = {

tests/typing/pyray_stub_smoke.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import pyray as rl
22

33

4-
blend: int = rl.BLEND_ALPHA
4+
blend: int = rl.BlendMode.BLEND_ALPHA
55
mode: int = rl.RL_QUADS
6-
mouse: int = rl.MOUSE_BUTTON_LEFT
7-
flt: int = rl.TEXTURE_FILTER_POINT
6+
src_alpha: int = rl.RL_SRC_ALPHA
7+
mouse: int = rl.MouseButton.MOUSE_BUTTON_LEFT
8+
flt: int = rl.TextureFilter.TEXTURE_FILTER_POINT
89

910

1011
def accepts_texture(texture: rl.Texture | None) -> None:

0 commit comments

Comments
 (0)