Commit Graph

6 Commits

Author SHA1 Message Date
Adam Turner
6fd8b30043
Parse `theme.conf to a new _ConfigFile` type (#12254) 2024-04-10 00:10:26 +01:00
Chris Sewell
66fa790b3a
[tests] Add basic build test for all builtin themes (#12168)
Add `tests/test_theming/test_theming.py::test_theme_builds`, which is a parametrized test against all builtin sphinx HTML themes, that tests:

1. that the themes builds without warnings for a basic project, and
2. that all `.html` files it produces are valid XML (see https://html.spec.whatwg.org/)

https://pypi.org/project/defusedxml/ was added to the test dependencies, in order to safely parse the XML

This required one fix for `sphinx/themes/basic/search.html`, and one for `sphinx/themes/bizstyle/layout.html`

Also, `tests/test_theming` was removed from the `ruff format` exclude list
2024-03-22 12:57:34 +01:00
Adam Turner
360c7a8022 Load themes through iteration rather than recursion 2024-01-21 03:59:31 +00:00
Adam Turner
99dd0cb4c6 Refactor `sphinx.theming` to prepare for iterative loading 2024-01-21 03:59:31 +00:00
Adam Turner
0ca2ddf924 Make various theme-related objects private 2024-01-21 03:59:31 +00:00
Adam Turner
462404cb25 Organise tests into directories 2024-01-17 03:56:35 +00:00