gentoo/dev-python/pydata-sphinx-theme/files/pydata-sphinx-theme-0.16.0-tests-ignorecase.patch
Eli Schwartz 44df4dd9f2
dev-python/pydata-sphinx-theme: backport fix for tests
Closes: https://bugs.gentoo.org/932520
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2025-11-04 18:57:23 -05:00

82 lines
3.3 KiB
Diff

https://github.com/pydata/pydata-sphinx-theme/pull/2091
From f43024ded15bf55ea61e2bbaec8612d8b8631645 Mon Sep 17 00:00:00 2001
From: Daniel McCloy <dan@mccloy.info>
Date: Wed, 8 Jan 2025 11:01:22 -0600
Subject: [PATCH 4/6] improve test
---
tests/test_build.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/test_build.py b/tests/test_build.py
index 7a005fa4ab..170a29a832 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -891,8 +891,8 @@ def test_pygments_fallbacks(sphinx_build_factory, style_names, keyword_colors) -
# see if our warnings worked
if style_names[0].startswith("fake"):
assert len(warnings) == 2
- re.match(r"Color theme fake_foo.*tango", warnings[0])
- re.match(r"Color theme fake_bar.*monokai", warnings[1])
+ assert re.search(r"Highlighting style fake_foo.*tango", warnings[0])
+ assert re.search(r"Highlighting style fake_bar.*monokai", warnings[1])
else:
assert warnings == [""]
# test that the rendered HTML has highlighting spans
From 513729664b1c2c51c68d2c6086a9f05cea1976c1 Mon Sep 17 00:00:00 2001
From: Daniel McCloy <dan@mccloy.info>
Date: Wed, 8 Jan 2025 11:23:46 -0600
Subject: [PATCH 5/6] show info why test fails
---
tests/test_build.py | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/tests/test_build.py b/tests/test_build.py
index 170a29a832..0d2f861f72 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -907,11 +907,9 @@ def test_pygments_fallbacks(sphinx_build_factory, style_names, keyword_colors) -
lines = css_file.readlines()
assert lines[0].startswith('html[data-theme="light"]')
for mode, color in dict(zip(["light", "dark"], keyword_colors)).items():
- regexp = re.compile(
- r'html\[data-theme="' + mode + r'"\].*\.k .*color: ' + color
- )
- matches = [regexp.match(line) is not None for line in lines]
- assert sum(matches) == 1
+ regexp = re.compile(rf'html\[data-theme="{mode}"\].*\.k .*color:\s?{color}')
+ matches = [regexp.search(line) is not None for line in lines]
+ assert sum(matches) == 1, f"expected {mode}: {color}\n" + "\n".join(lines)
def test_deprecated_build_html(sphinx_build_factory, file_regression) -> None:
From d73887b5c73e805b28d8c7cd865c8f8e58a85745 Mon Sep 17 00:00:00 2001
From: Daniel McCloy <dan@mccloy.info>
Date: Wed, 8 Jan 2025 11:28:43 -0600
Subject: [PATCH 6/6] ignorecase
---
tests/test_build.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/test_build.py b/tests/test_build.py
index 0d2f861f72..8444da330d 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -907,7 +907,10 @@ def test_pygments_fallbacks(sphinx_build_factory, style_names, keyword_colors) -
lines = css_file.readlines()
assert lines[0].startswith('html[data-theme="light"]')
for mode, color in dict(zip(["light", "dark"], keyword_colors)).items():
- regexp = re.compile(rf'html\[data-theme="{mode}"\].*\.k .*color:\s?{color}')
+ regexp = re.compile(
+ r'html\[data-theme="' + mode + r'"\].*\.k .*color:\s?' + color,
+ re.IGNORECASE,
+ )
matches = [regexp.search(line) is not None for line in lines]
assert sum(matches) == 1, f"expected {mode}: {color}\n" + "\n".join(lines)