From 751f06bc3dd399b9dac5afeecd4d0864962bbb23 Mon Sep 17 00:00:00 2001 From: Liam DeVoe Date: Mon, 24 Feb 2025 16:12:08 -0500 Subject: [PATCH] add test for invalid code block syntax --- whole_repo_tests/test_rst_is_valid.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/whole_repo_tests/test_rst_is_valid.py b/whole_repo_tests/test_rst_is_valid.py index 9a9dba14d0..95ddaa5d97 100644 --- a/whole_repo_tests/test_rst_is_valid.py +++ b/whole_repo_tests/test_rst_is_valid.py @@ -9,6 +9,8 @@ # obtain one at https://mozilla.org/MPL/2.0/. import os +import re +from pathlib import Path import hypothesistooling as tools from hypothesistooling.projects import hypothesispython as hp @@ -32,6 +34,17 @@ def test_passes_rst_lint(): pip_tool("rst-lint", *(f for f in ALL_RST if not is_sphinx(f))) +def test_rst_code_blocks(): + # has bitten us before https://github.com/HypothesisWorks/hypothesis/pull/4273 + pattern = re.compile(r"^\.\.\s+code-block:\s+", re.MULTILINE) + for f in ALL_RST: + matches = pattern.search(Path(f).read_text()) + assert not matches, ( + f"incorrect code block syntax in {f}. Use `.. code-block::` " + "instead of `.. code-block:`" + ) + + def disabled_test_passes_flake8(): # TODO: get these whitespace checks without flake8? pip_tool("flake8", "--select=W191,W291,W292,W293,W391", *ALL_RST)