diff --git a/smoke_tests/test_render_scraper_script.py b/smoke_tests/test_render_scraper_script.py index 3482093..16e0a14 100644 --- a/smoke_tests/test_render_scraper_script.py +++ b/smoke_tests/test_render_scraper_script.py @@ -1,18 +1,23 @@ from __future__ import annotations +import ast import importlib.util import re from pathlib import Path -def test_render_scraper_script_has_no_numeric_underscore_literals() -> None: +def _load_agent_module(): agent_path = Path(__file__).resolve().parents[1] / "agent.py" spec = importlib.util.spec_from_file_location("agent", agent_path) assert spec is not None and spec.loader is not None module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) + return module - script = module._render_scraper_script( + +def _render_script() -> str: + module = _load_agent_module() + return module._render_scraper_script( { "url": "https://example.com/", "selectors": {"title": "title"}, @@ -28,12 +33,27 @@ def test_render_scraper_script_has_no_numeric_underscore_literals() -> None: } ) + +def test_render_scraper_script_parses_as_python_35() -> None: + script = _render_script() + ast.parse(script, feature_version=(3, 5)) + + +def test_render_scraper_script_has_no_forbidden_modern_syntax_markers() -> None: + script = _render_script() + numeric_underscore_literal = re.compile(r"(?