sphinx_rtd_theme QA tests
This project is for generating the sphinx_rtd_theme
test matrix. These docs
are manually built and uploaded to an S3 bucket for review.
Our test matrix is currently rather large:
Sphinx versions 1.x - 6.x
Docutils versions 0.16, 0.17, 0.18
HTML 4 and HTML 5 writer
Mobile, tablet, and desktop viewport sizes
And recent versions of Chromium, Firefox, and Safari
Currently, this describes over 300 possible combinations in our test matrix :cold_sweat:
Running
For now, it’s manual and using Tox:
% tox
You can rebuild a specific test case with:
% tox -e sphinx5-docutils18-html5
If you want to test against a branch of sphinx_rtd_theme
, you can manually
update the Tox configuration to point to a Git branch in a repo.
Evaluting
This is open to interpretation. Comparing over 300 test cases is obviously not possible. Even more confusing is that some of the differences are known incompatibilities – for instance footnote styles do not have parity between HTML 4 and HTML 5 writers, they are just functionally similar.
Use your own judgement in picking versions to compare. You should compare more than 1 pair of versions – for instance compare Sphinx 4 and 5 if you are evaluating the differences between Docutils 0.17 and 0.18.
To compare versions, open up two versions side by side and go through the output of some of the demo pages to look for anomalies. Check different viewport sizes and a few browsers.
Theme Documentation
Demo Documentation
This is an incredibly long caption for a long menu
- 1. Long Sticky Nav
- 1.1. Example Menu 1
- 1.2. Example Menu 2
- 1.3. Example Menu 3
- 1.4. Example Menu 4
- 1.5. Example Menu 5
- 1.6. Example Menu 6
- 1.7. Example Menu 7
- 1.8. Example Menu 8
- 1.9. Example Menu 9
- 1.10. Example Menu 10
- 1.11. Example Menu 11
- 1.12. Example Menu 12
- 1.13. Example Menu 13
- 1.14. Example Menu 14
- 1.15. Example Menu 15
- 1.16. Example Menu 16
- 1.17. Example Menu 17
- 1.18. Example Menu 18
- 1.19. Example Menu 19
- 1.20. Example Menu 20
- 1.21. Example Submenu 1
- 1.22. Example Submenu 2