From d37ee9ba1ce488bdaa392f478f608776e634d123 Mon Sep 17 00:00:00 2001 From: mmcky Date: Tue, 21 Oct 2025 12:40:52 +1100 Subject: [PATCH 1/5] Modernize Python and Sphinx version support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Breaking Changes:** - Drop Python 3.9 and 3.10 support (now requires Python >= 3.11) - Drop Sphinx <6 support (now requires Sphinx >= 6) **Improvements:** - Update test matrix to Python 3.11, 3.12, 3.13 - Test against Sphinx 7 and 8 (modern, actively supported versions) - Remove outdated Sphinx 4 and 5 test fixtures - Generate Sphinx 8 test fixtures - Fix tox.ini Sphinx 6 environment configuration - Update pyproject.toml dependencies to align with ecosystem **Rationale:** - pydata-sphinx-theme (core dependency) requires Sphinx >= 6.1 - Python 3.9 EOL October 2025, Python 3.10 EOL October 2026 - Aligns with modern Python/Sphinx ecosystem - Reduces maintenance burden of supporting legacy versions All 110 tests passing on: - Python 3.11 + Sphinx 7.4.7 ✓ - Python 3.11 + Sphinx 8.2.3 ✓ --- CHANGELOG.md | 21 +++ pyproject.toml | 10 +- .../_enum_numref_mathtitle.html | 4 +- .../_enum_numref_notitle.html | 4 +- .../_enum_numref_placeholders.html | 4 +- .../_enum_numref_title.html | 4 +- .../_enum_ref_mathtitle.html | 4 +- .../_enum_ref_notitle.html | 4 +- .../_enum_ref_title.html | 4 +- .../_unenum_numref_mathtitle.html | 4 +- .../_unenum_numref_notitle.html | 4 +- .../_unenum_numref_title.html | 4 +- .../_unenum_ref_mathtitle.html | 4 +- .../_unenum_ref_notitle.html | 4 +- .../_unenum_ref_title.html | 4 +- .../solution-exercise-0.sphinx5.html | 43 ----- .../solution-exercise-0.sphinx7.html | 6 +- ....html => solution-exercise-0.sphinx8.html} | 6 +- .../solution-exercise-1.sphinx5.html | 43 ----- .../solution-exercise-1.sphinx7.html | 6 +- ....html => solution-exercise-1.sphinx8.html} | 6 +- .../solution-exercise-gated-0.sphinx5.html | 43 ----- .../solution-exercise-gated-0.sphinx7.html | 6 +- ...=> solution-exercise-gated-0.sphinx8.html} | 6 +- .../solution-exercise-gated-1.sphinx5.html | 43 ----- .../solution-exercise-gated-1.sphinx7.html | 6 +- ...=> solution-exercise-gated-1.sphinx8.html} | 6 +- .../solution-exercise-gated.sphinx5.xml | 111 ----------- .../solution-exercise-gated.sphinx7.xml | 4 +- ...ml => solution-exercise-gated.sphinx8.xml} | 4 +- .../solution-exercise.sphinx5.xml | 114 ------------ .../solution-exercise.sphinx7.xml | 4 +- ...inx4.xml => solution-exercise.sphinx8.xml} | 4 +- tests/test_latex/test_latex_build.sphinx4.tex | 176 ------------------ ...hinx5.tex => test_latex_build.sphinx8.tex} | 16 +- tests/test_solution/_linked_enum.xml | 4 +- .../_linked_ref_enum.html | 4 +- .../_linked_ref_unenum_mathtitle.html | 4 +- .../_linked_ref_unenum_mathtitle2.html | 4 +- .../_linked_ref_unenum_notitle.html | 4 +- .../_linked_ref_unenum_title.html | 4 +- tox.ini | 10 +- 42 files changed, 126 insertions(+), 644 deletions(-) delete mode 100644 tests/test_gateddirective/solution-exercise-0.sphinx5.html rename tests/test_gateddirective/{solution-exercise-0.sphinx4.html => solution-exercise-0.sphinx8.html} (90%) delete mode 100644 tests/test_gateddirective/solution-exercise-1.sphinx5.html rename tests/test_gateddirective/{solution-exercise-1.sphinx4.html => solution-exercise-1.sphinx8.html} (90%) delete mode 100644 tests/test_gateddirective/solution-exercise-gated-0.sphinx5.html rename tests/test_gateddirective/{solution-exercise-gated-0.sphinx4.html => solution-exercise-gated-0.sphinx8.html} (90%) delete mode 100644 tests/test_gateddirective/solution-exercise-gated-1.sphinx5.html rename tests/test_gateddirective/{solution-exercise-gated-1.sphinx4.html => solution-exercise-gated-1.sphinx8.html} (90%) delete mode 100644 tests/test_gateddirective/solution-exercise-gated.sphinx5.xml rename tests/test_gateddirective/{solution-exercise-gated.sphinx4.xml => solution-exercise-gated.sphinx8.xml} (94%) delete mode 100644 tests/test_gateddirective/solution-exercise.sphinx5.xml rename tests/test_gateddirective/{solution-exercise.sphinx4.xml => solution-exercise.sphinx8.xml} (94%) delete mode 100644 tests/test_latex/test_latex_build.sphinx4.tex rename tests/test_latex/{test_latex_build.sphinx5.tex => test_latex_build.sphinx8.tex} (86%) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebcbd16..0b338db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [v1.1.0](https://github.com/executablebooks/sphinx-exercise/tree/v1.1.0) (TBD) + +### New ✨ + +- Added internationalization (i18n) support with 27 languages + - Arabic, Bengali, Chinese (Simplified), Czech, Dutch, French, German, Greek, Hindi + - Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Norwegian, Polish + - Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, Turkish, Ukrainian, Vietnamese +- Translations available for Exercise and Solution directive labels + +### Improved 👌 + +- Modernized Python support: Now requires Python 3.11+ (dropped 3.9, 3.10) +- Modernized Sphinx support: Now requires Sphinx 6+ (dropped Sphinx 4, 5) +- Updated test suite to test against Sphinx 7 and 8 +- Removed outdated test fixtures for Sphinx 4 and 5 + +### Breaking Changes ⚠️ + +- **Dropped Python 3.9 and 3.10 support** - Minimum Python version is now 3.11 +- **Dropped Sphinx <6 support** - Minimum Sphinx version is now 6.0 ## [v0.4.1](https://github.com/executablebooks/sphinx-exercise/tree/v0.4.1) (2023-1-23) diff --git a/pyproject.toml b/pyproject.toml index 13e41f7..07454fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "A Sphinx extension for producing exercises and solutions." readme = "README.md" license = { file = "LICENSE" } -requires-python = ">=3.9" +requires-python = ">=3.11" authors = [ { name = "QuantEcon", email = "admin@quantecon.org" }, ] @@ -22,10 +22,9 @@ classifiers = [ "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Documentation", "Topic :: Documentation :: Sphinx", "Topic :: Software Development :: Documentation", @@ -34,7 +33,7 @@ classifiers = [ ] dependencies = [ "sphinx-book-theme", - "sphinx>=5", + "sphinx>=6", ] [project.optional-dependencies] @@ -52,7 +51,7 @@ rtd = [ "myst-nb~=1.0.0", "sphinx-book-theme", "sphinx_togglebutton", - "sphinx>=5,<8", + "sphinx>=6,<9", ] testing = [ "beautifulsoup4", @@ -62,7 +61,6 @@ testing = [ "pytest-cov", "pytest-regressions", "pytest~=8.0.0", - "sphinx>=5,<8", "texsoup", "defusedxml", # Required by sphinx-testing ] diff --git a/tests/test_exercise_references/_enum_numref_mathtitle.html b/tests/test_exercise_references/_enum_numref_mathtitle.html index 5d17801..16a3e5b 100644 --- a/tests/test_exercise_references/_enum_numref_mathtitle.html +++ b/tests/test_exercise_references/_enum_numref_mathtitle.html @@ -1,4 +1,6 @@

This is a reference Exercise 1.

This is a second reference some text 1.

This is a third reference some text 1.

-

This is a fourth reference some text Exercise.

\ No newline at end of file +

This is a fourth reference some text Exercise.

+

_enum_numref_title

+

_unenum_mathtitle_label

\ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_notitle.html b/tests/test_exercise_references/_enum_numref_notitle.html index 90a5c54..eb699a4 100644 --- a/tests/test_exercise_references/_enum_numref_notitle.html +++ b/tests/test_exercise_references/_enum_numref_notitle.html @@ -1,4 +1,6 @@

This is a reference Exercise 2.

This is a second reference some text 2.

This is a third reference some text 2.

-

This is a fourth reference some text Exercise.

\ No newline at end of file +

This is a fourth reference some text Exercise.

+

_enum_ref_mathtitle

+

_enum_numref_title

\ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_placeholders.html b/tests/test_exercise_references/_enum_numref_placeholders.html index 07f2a5a..9bc2e26 100644 --- a/tests/test_exercise_references/_enum_numref_placeholders.html +++ b/tests/test_exercise_references/_enum_numref_placeholders.html @@ -7,4 +7,6 @@

This reference includes math some 1 text %s test.

This reference includes math some Exercise text %s test.

This reference includes math some Exercise text 1 test.

-

This reference includes math some 1 text test.

\ No newline at end of file +

This reference includes math some 1 text test.

+

_unenum_numref_mathtitle

+

_enum_duplicate_label

\ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_title.html b/tests/test_exercise_references/_enum_numref_title.html index c2a4496..e3e637c 100644 --- a/tests/test_exercise_references/_enum_numref_title.html +++ b/tests/test_exercise_references/_enum_numref_title.html @@ -1,4 +1,6 @@

This is a reference Exercise 3.

This is a second reference some text 3.

This is a third reference some text 3.

-

This is a fourth reference some text Exercise.

\ No newline at end of file +

This is a fourth reference some text Exercise.

+

_enum_numref_notitle

+

_enum_numref_mathtitle

\ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_mathtitle.html b/tests/test_exercise_references/_enum_ref_mathtitle.html index 508253a..e12e85d 100644 --- a/tests/test_exercise_references/_enum_ref_mathtitle.html +++ b/tests/test_exercise_references/_enum_ref_mathtitle.html @@ -1,2 +1,4 @@

This is a reference Exercise 1.

-

This is a second reference some text.

\ No newline at end of file +

This is a second reference some text.

+

_enum_ref_title

+

_enum_numref_notitle

\ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_notitle.html b/tests/test_exercise_references/_enum_ref_notitle.html index 972f9f9..2f1474c 100644 --- a/tests/test_exercise_references/_enum_ref_notitle.html +++ b/tests/test_exercise_references/_enum_ref_notitle.html @@ -1,2 +1,4 @@

This is a reference Exercise 2.

-

This is a second reference some text.

\ No newline at end of file +

This is a second reference some text.

+

_enum_title_nolabel

+

_enum_ref_title

\ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_title.html b/tests/test_exercise_references/_enum_ref_title.html index 5235a0a..53e83f8 100644 --- a/tests/test_exercise_references/_enum_ref_title.html +++ b/tests/test_exercise_references/_enum_ref_title.html @@ -1,2 +1,4 @@

This is a reference Exercise 3.

-

This is a second reference some text.

\ No newline at end of file +

This is a second reference some text.

+

_enum_ref_notitle

+

_enum_ref_mathtitle

\ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_mathtitle.html b/tests/test_exercise_references/_unenum_numref_mathtitle.html index 93876d4..0773678 100644 --- a/tests/test_exercise_references/_unenum_numref_mathtitle.html +++ b/tests/test_exercise_references/_unenum_numref_mathtitle.html @@ -1,4 +1,6 @@

This is a reference unen-exc-label-math.

This is a second reference some text %s.

This is a third reference some text {number}.

-

This is a fourth reference some text {name}.

\ No newline at end of file +

This is a fourth reference some text {name}.

+

_unenum_numref_title

+

_enum_numref_placeholders

\ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_notitle.html b/tests/test_exercise_references/_unenum_numref_notitle.html index a952ce1..a7329f2 100644 --- a/tests/test_exercise_references/_unenum_numref_notitle.html +++ b/tests/test_exercise_references/_unenum_numref_notitle.html @@ -1,4 +1,6 @@

This is a reference unen-exc-notitle.

This is a second reference some text %s.

This is a third reference some text {number}.

-

This is a fourth reference some text {name}.

\ No newline at end of file +

This is a fourth reference some text {name}.

+

_unenum_ref_mathtitle

+

_unenum_numref_title

\ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_title.html b/tests/test_exercise_references/_unenum_numref_title.html index 0bc31c3..25c62f2 100644 --- a/tests/test_exercise_references/_unenum_numref_title.html +++ b/tests/test_exercise_references/_unenum_numref_title.html @@ -1,4 +1,6 @@

This is a reference unen-exc-label.

This is a second reference some text %s.

This is a third reference some text {number}.

-

This is a fourth reference some text {name}.

\ No newline at end of file +

This is a fourth reference some text {name}.

+

_unenum_numref_notitle

+

_unenum_numref_mathtitle

\ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_mathtitle.html b/tests/test_exercise_references/_unenum_ref_mathtitle.html index a4a4bf8..3a9cdc0 100644 --- a/tests/test_exercise_references/_unenum_ref_mathtitle.html +++ b/tests/test_exercise_references/_unenum_ref_mathtitle.html @@ -1,2 +1,4 @@

This is a reference Exercise.

-

This is a second reference some text.

\ No newline at end of file +

This is a second reference some text.

+

_unenum_ref_title

+

_unenum_numref_notitle

\ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_notitle.html b/tests/test_exercise_references/_unenum_ref_notitle.html index c20af93..9678f3d 100644 --- a/tests/test_exercise_references/_unenum_ref_notitle.html +++ b/tests/test_exercise_references/_unenum_ref_notitle.html @@ -1,2 +1,4 @@

This is a reference Exercise.

-

This is a second reference some text.

\ No newline at end of file +

This is a second reference some text.

+

_unenum_title_nolabel

+

_unenum_ref_title

\ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_title.html b/tests/test_exercise_references/_unenum_ref_title.html index 50ea0dd..f9e2427 100644 --- a/tests/test_exercise_references/_unenum_ref_title.html +++ b/tests/test_exercise_references/_unenum_ref_title.html @@ -1,2 +1,4 @@

This is a reference Exercise.

-

This is a second reference some text.

\ No newline at end of file +

This is a second reference some text.

+

_unenum_ref_notitle

+

_unenum_ref_mathtitle

\ No newline at end of file diff --git a/tests/test_gateddirective/solution-exercise-0.sphinx5.html b/tests/test_gateddirective/solution-exercise-0.sphinx5.html deleted file mode 100644 index 4488136..0000000 --- a/tests/test_gateddirective/solution-exercise-0.sphinx5.html +++ /dev/null @@ -1,43 +0,0 @@ -
-

Solution to Exercise 1

-
-

This is a solution to Non-Gated Exercise 1

-
-
-
import numpy as np
-import matplotlib.pyplot as plt
-
-# Fixing random state for reproducibility
-np.random.seed(19680801)
-
-dt = 0.01
-t = np.arange(0, 30, dt)
-nse1 = np.random.randn(len(t))                 # white noise 1
-nse2 = np.random.randn(len(t))                 # white noise 2
-
-# Two signals with a coherent part at 10Hz and a random part
-s1 = np.sin(2 * np.pi * 10 * t) + nse1
-s2 = np.sin(2 * np.pi * 10 * t) + nse2
-
-fig, axs = plt.subplots(2, 1)
-axs[0].plot(t, s1, t, s2)
-axs[0].set_xlim(0, 2)
-axs[0].set_xlabel('time')
-axs[0].set_ylabel('s1 and s2')
-axs[0].grid(True)
-
-cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt)
-axs[1].set_ylabel('coherence')
-
-fig.tight_layout()
-plt.show()
-
-
-
-
-_images/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png -
-
-

With some follow up text to the solution

-
-
\ No newline at end of file diff --git a/tests/test_gateddirective/solution-exercise-0.sphinx7.html b/tests/test_gateddirective/solution-exercise-0.sphinx7.html index 3d8d02b..3628c7b 100644 --- a/tests/test_gateddirective/solution-exercise-0.sphinx7.html +++ b/tests/test_gateddirective/solution-exercise-0.sphinx7.html @@ -4,8 +4,8 @@

This is a solution to Non-Gated Exercise 1

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-0.sphinx4.html b/tests/test_gateddirective/solution-exercise-0.sphinx8.html similarity index 90% rename from tests/test_gateddirective/solution-exercise-0.sphinx4.html rename to tests/test_gateddirective/solution-exercise-0.sphinx8.html index e7a044b..3628c7b 100644 --- a/tests/test_gateddirective/solution-exercise-0.sphinx4.html +++ b/tests/test_gateddirective/solution-exercise-0.sphinx8.html @@ -4,8 +4,8 @@

This is a solution to Non-Gated Exercise 1

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-1.sphinx5.html b/tests/test_gateddirective/solution-exercise-1.sphinx5.html deleted file mode 100644 index 1992dcd..0000000 --- a/tests/test_gateddirective/solution-exercise-1.sphinx5.html +++ /dev/null @@ -1,43 +0,0 @@ -
-

Solution to Exercise 2 (Replicate Matplotlib Plot)

-
-

This is a solution to Non-Gated Exercise 1

-
-
-
import numpy as np
-import matplotlib.pyplot as plt
-
-# Fixing random state for reproducibility
-np.random.seed(19680801)
-
-dt = 0.01
-t = np.arange(0, 30, dt)
-nse1 = np.random.randn(len(t))                 # white noise 1
-nse2 = np.random.randn(len(t))                 # white noise 2
-
-# Two signals with a coherent part at 10Hz and a random part
-s1 = np.sin(2 * np.pi * 10 * t) + nse1
-s2 = np.sin(2 * np.pi * 10 * t) + nse2
-
-fig, axs = plt.subplots(2, 1)
-axs[0].plot(t, s1, t, s2)
-axs[0].set_xlim(0, 2)
-axs[0].set_xlabel('time')
-axs[0].set_ylabel('s1 and s2')
-axs[0].grid(True)
-
-cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt)
-axs[1].set_ylabel('coherence')
-
-fig.tight_layout()
-plt.show()
-
-
-
-
-_images/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png -
-
-

With some follow up text to the solution

-
-
\ No newline at end of file diff --git a/tests/test_gateddirective/solution-exercise-1.sphinx7.html b/tests/test_gateddirective/solution-exercise-1.sphinx7.html index 3adf959..84a9e84 100644 --- a/tests/test_gateddirective/solution-exercise-1.sphinx7.html +++ b/tests/test_gateddirective/solution-exercise-1.sphinx7.html @@ -4,8 +4,8 @@

This is a solution to Non-Gated Exercise 1

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-1.sphinx4.html b/tests/test_gateddirective/solution-exercise-1.sphinx8.html similarity index 90% rename from tests/test_gateddirective/solution-exercise-1.sphinx4.html rename to tests/test_gateddirective/solution-exercise-1.sphinx8.html index 09ef108..84a9e84 100644 --- a/tests/test_gateddirective/solution-exercise-1.sphinx4.html +++ b/tests/test_gateddirective/solution-exercise-1.sphinx8.html @@ -4,8 +4,8 @@

This is a solution to Non-Gated Exercise 1

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-gated-0.sphinx5.html b/tests/test_gateddirective/solution-exercise-gated-0.sphinx5.html deleted file mode 100644 index 80ccfd5..0000000 --- a/tests/test_gateddirective/solution-exercise-gated-0.sphinx5.html +++ /dev/null @@ -1,43 +0,0 @@ -
-

Solution to Exercise 3

-
-

This is a solution to Gated Exercise 1

-
-
-
import numpy as np
-import matplotlib.pyplot as plt
-
-# Fixing random state for reproducibility
-np.random.seed(19680801)
-
-dt = 0.01
-t = np.arange(0, 30, dt)
-nse1 = np.random.randn(len(t))                 # white noise 1
-nse2 = np.random.randn(len(t))                 # white noise 2
-
-# Two signals with a coherent part at 10Hz and a random part
-s1 = np.sin(2 * np.pi * 10 * t) + nse1
-s2 = np.sin(2 * np.pi * 10 * t) + nse2
-
-fig, axs = plt.subplots(2, 1)
-axs[0].plot(t, s1, t, s2)
-axs[0].set_xlim(0, 2)
-axs[0].set_xlabel('time')
-axs[0].set_ylabel('s1 and s2')
-axs[0].grid(True)
-
-cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt)
-axs[1].set_ylabel('coherence')
-
-fig.tight_layout()
-plt.show()
-
-
-
-
-_images/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png -
-
-

With some follow up text to the solution

-
-
\ No newline at end of file diff --git a/tests/test_gateddirective/solution-exercise-gated-0.sphinx7.html b/tests/test_gateddirective/solution-exercise-gated-0.sphinx7.html index 9bedded..8837cb2 100644 --- a/tests/test_gateddirective/solution-exercise-gated-0.sphinx7.html +++ b/tests/test_gateddirective/solution-exercise-gated-0.sphinx7.html @@ -4,8 +4,8 @@

This is a solution to Gated Exercise 1

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-gated-0.sphinx4.html b/tests/test_gateddirective/solution-exercise-gated-0.sphinx8.html similarity index 90% rename from tests/test_gateddirective/solution-exercise-gated-0.sphinx4.html rename to tests/test_gateddirective/solution-exercise-gated-0.sphinx8.html index 5689725..8837cb2 100644 --- a/tests/test_gateddirective/solution-exercise-gated-0.sphinx4.html +++ b/tests/test_gateddirective/solution-exercise-gated-0.sphinx8.html @@ -4,8 +4,8 @@

This is a solution to Gated Exercise 1

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-gated-1.sphinx5.html b/tests/test_gateddirective/solution-exercise-gated-1.sphinx5.html deleted file mode 100644 index ebf8f7b..0000000 --- a/tests/test_gateddirective/solution-exercise-gated-1.sphinx5.html +++ /dev/null @@ -1,43 +0,0 @@ -
-

Solution to Exercise 4 (Replicate Matplotlib Plot)

-
-

This is a solution to Gated Exercise 2

-
-
-
import numpy as np
-import matplotlib.pyplot as plt
-
-# Fixing random state for reproducibility
-np.random.seed(19680801)
-
-dt = 0.01
-t = np.arange(0, 30, dt)
-nse1 = np.random.randn(len(t))                 # white noise 1
-nse2 = np.random.randn(len(t))                 # white noise 2
-
-# Two signals with a coherent part at 10Hz and a random part
-s1 = np.sin(2 * np.pi * 10 * t) + nse1
-s2 = np.sin(2 * np.pi * 10 * t) + nse2
-
-fig, axs = plt.subplots(2, 1)
-axs[0].plot(t, s1, t, s2)
-axs[0].set_xlim(0, 2)
-axs[0].set_xlabel('time')
-axs[0].set_ylabel('s1 and s2')
-axs[0].grid(True)
-
-cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt)
-axs[1].set_ylabel('coherence')
-
-fig.tight_layout()
-plt.show()
-
-
-
-
-_images/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png -
-
-

With some follow up text to the solution

-
-
\ No newline at end of file diff --git a/tests/test_gateddirective/solution-exercise-gated-1.sphinx7.html b/tests/test_gateddirective/solution-exercise-gated-1.sphinx7.html index e93bf84..f4140e2 100644 --- a/tests/test_gateddirective/solution-exercise-gated-1.sphinx7.html +++ b/tests/test_gateddirective/solution-exercise-gated-1.sphinx7.html @@ -4,8 +4,8 @@

This is a solution to Gated Exercise 2

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-gated-1.sphinx4.html b/tests/test_gateddirective/solution-exercise-gated-1.sphinx8.html similarity index 90% rename from tests/test_gateddirective/solution-exercise-gated-1.sphinx4.html rename to tests/test_gateddirective/solution-exercise-gated-1.sphinx8.html index 7c731b2..f4140e2 100644 --- a/tests/test_gateddirective/solution-exercise-gated-1.sphinx4.html +++ b/tests/test_gateddirective/solution-exercise-gated-1.sphinx8.html @@ -4,8 +4,8 @@

This is a solution to Gated Exercise 2

-
import numpy as np
-import matplotlib.pyplot as plt
+
import numpy as np
+import matplotlib.pyplot as plt
 
 # Fixing random state for reproducibility
 np.random.seed(19680801)
@@ -35,7 +35,7 @@
 
-_images/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png +_images/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png

With some follow up text to the solution

diff --git a/tests/test_gateddirective/solution-exercise-gated.sphinx5.xml b/tests/test_gateddirective/solution-exercise-gated.sphinx5.xml deleted file mode 100644 index 456f08d..0000000 --- a/tests/test_gateddirective/solution-exercise-gated.sphinx5.xml +++ /dev/null @@ -1,111 +0,0 @@ - -
- - Gated Solutions to exercise-gated.md - <paragraph> - A solution using the gated directive - <solution_node classes="solution" docname="solution-exercise-gated" hidden="False" ids="gated-exercise-solution-1" label="gated-exercise-solution-1" names="gated-exercise-solution-1" serial_number="0" target_label="gated-exercise-1" title="Solution to" type="solution"> - <solution_title> - Solution to - <section ids="solution-content"> - <paragraph> - This is a solution to Gated Exercise 1 - <container cell_index="1" cell_metadata="{}" classes="cell" exec_count="1" nb_element="cell_code"> - <container classes="cell_input" nb_element="cell_code_source"> - <literal_block language="ipython3" xml:space="preserve"> - import numpy as np - import matplotlib.pyplot as plt - - # Fixing random state for reproducibility - np.random.seed(19680801) - - dt = 0.01 - t = np.arange(0, 30, dt) - nse1 = np.random.randn(len(t)) # white noise 1 - nse2 = np.random.randn(len(t)) # white noise 2 - - # Two signals with a coherent part at 10Hz and a random part - s1 = np.sin(2 * np.pi * 10 * t) + nse1 - s2 = np.sin(2 * np.pi * 10 * t) + nse2 - - fig, axs = plt.subplots(2, 1) - axs[0].plot(t, s1, t, s2) - axs[0].set_xlim(0, 2) - axs[0].set_xlabel('time') - axs[0].set_ylabel('s1 and s2') - axs[0].grid(True) - - cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt) - axs[1].set_ylabel('coherence') - - fig.tight_layout() - plt.show() - <container classes="cell_output" nb_element="cell_code_output"> - <container nb_element="mime_bundle"> - <container mime_type="text/plain"> - <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> - <Figure size 432x288 with 2 Axes> - <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png'}" uri="_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png"> - <paragraph> - With some follow up text to the solution - <paragraph> - and then a solution to - <pending_xref refdoc="solution-exercise-gated" refdomain="std" refexplicit="False" reftarget="gated-exercise-2" reftype="ref" refwarn="True"> - <inline classes="xref std std-ref"> - gated-exercise-2 - <paragraph> - A solution using the gated directive - <solution_node classes="solution" docname="solution-exercise-gated" hidden="False" ids="gated-exercise-solution-2" label="gated-exercise-solution-2" names="gated-exercise-solution-2" serial_number="1" target_label="gated-exercise-2" title="Solution to" type="solution"> - <solution_title> - Solution to - <section ids="solution-content"> - <paragraph> - This is a solution to Gated Exercise 2 - <container cell_index="3" cell_metadata="{}" classes="cell" exec_count="2" nb_element="cell_code"> - <container classes="cell_input" nb_element="cell_code_source"> - <literal_block language="ipython3" xml:space="preserve"> - import numpy as np - import matplotlib.pyplot as plt - - # Fixing random state for reproducibility - np.random.seed(19680801) - - dt = 0.01 - t = np.arange(0, 30, dt) - nse1 = np.random.randn(len(t)) # white noise 1 - nse2 = np.random.randn(len(t)) # white noise 2 - - # Two signals with a coherent part at 10Hz and a random part - s1 = np.sin(2 * np.pi * 10 * t) + nse1 - s2 = np.sin(2 * np.pi * 10 * t) + nse2 - - fig, axs = plt.subplots(2, 1) - axs[0].plot(t, s1, t, s2) - axs[0].set_xlim(0, 2) - axs[0].set_xlabel('time') - axs[0].set_ylabel('s1 and s2') - axs[0].grid(True) - - cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt) - axs[1].set_ylabel('coherence') - - fig.tight_layout() - plt.show() - <container classes="cell_output" nb_element="cell_code_output"> - <container nb_element="mime_bundle"> - <container mime_type="text/plain"> - <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> - <Figure size 432x288 with 2 Axes> - <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png'}" uri="_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png"> - <paragraph> - With some follow up text to the solution - <section ids="references-to-solutions" names="references\ to\ solutions"> - <title> - References to Solutions - <paragraph> - This is a reference to - <pending_xref refdoc="solution-exercise-gated" refdomain="std" refexplicit="False" reftarget="gated-exercise-solution-1" reftype="ref" refwarn="True"> - <inline classes="xref std std-ref"> - gated-exercise-solution-1 diff --git a/tests/test_gateddirective/solution-exercise-gated.sphinx7.xml b/tests/test_gateddirective/solution-exercise-gated.sphinx7.xml index c84d9a3..794ef65 100644 --- a/tests/test_gateddirective/solution-exercise-gated.sphinx7.xml +++ b/tests/test_gateddirective/solution-exercise-gated.sphinx7.xml @@ -46,7 +46,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png'}" uri="_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <paragraph> @@ -98,7 +98,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png'}" uri="_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <section ids="references-to-solutions" names="references\ to\ solutions"> diff --git a/tests/test_gateddirective/solution-exercise-gated.sphinx4.xml b/tests/test_gateddirective/solution-exercise-gated.sphinx8.xml similarity index 94% rename from tests/test_gateddirective/solution-exercise-gated.sphinx4.xml rename to tests/test_gateddirective/solution-exercise-gated.sphinx8.xml index d49b0ce..794ef65 100644 --- a/tests/test_gateddirective/solution-exercise-gated.sphinx4.xml +++ b/tests/test_gateddirective/solution-exercise-gated.sphinx8.xml @@ -46,7 +46,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png'}" uri="_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <paragraph> @@ -98,7 +98,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png'}" uri="_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <section ids="references-to-solutions" names="references\ to\ solutions"> diff --git a/tests/test_gateddirective/solution-exercise.sphinx5.xml b/tests/test_gateddirective/solution-exercise.sphinx5.xml deleted file mode 100644 index 5eb679f..0000000 --- a/tests/test_gateddirective/solution-exercise.sphinx5.xml +++ /dev/null @@ -1,114 +0,0 @@ -<document source="solution-exercise.md"> - <section ids="gated-solutions-to-exercise-md" names="gated\ solutions\ to\ exercise.md"> - <title> - Gated Solutions to exercise.md - <paragraph> - A solution using the gated directive - <solution_node classes="solution" docname="solution-exercise" hidden="False" ids="solution-gated-1" label="solution-gated-1" names="solution-gated-1" serial_number="0" target_label="exercise-1" title="Solution to" type="solution"> - <solution_title> - Solution to - <section ids="solution-content"> - <paragraph> - This is a solution to Non-Gated Exercise 1 - <container cell_index="1" cell_metadata="{}" classes="cell" exec_count="1" nb_element="cell_code"> - <container classes="cell_input" nb_element="cell_code_source"> - <literal_block language="ipython3" xml:space="preserve"> - import numpy as np - import matplotlib.pyplot as plt - - # Fixing random state for reproducibility - np.random.seed(19680801) - - dt = 0.01 - t = np.arange(0, 30, dt) - nse1 = np.random.randn(len(t)) # white noise 1 - nse2 = np.random.randn(len(t)) # white noise 2 - - # Two signals with a coherent part at 10Hz and a random part - s1 = np.sin(2 * np.pi * 10 * t) + nse1 - s2 = np.sin(2 * np.pi * 10 * t) + nse2 - - fig, axs = plt.subplots(2, 1) - axs[0].plot(t, s1, t, s2) - axs[0].set_xlim(0, 2) - axs[0].set_xlabel('time') - axs[0].set_ylabel('s1 and s2') - axs[0].grid(True) - - cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt) - axs[1].set_ylabel('coherence') - - fig.tight_layout() - plt.show() - <container classes="cell_output" nb_element="cell_code_output"> - <container nb_element="mime_bundle"> - <container mime_type="text/plain"> - <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> - <Figure size 432x288 with 2 Axes> - <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png'}" uri="_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png"> - <paragraph> - With some follow up text to the solution - <paragraph> - and a solution to - <pending_xref refdoc="solution-exercise" refdomain="std" refexplicit="False" reftarget="exercise-2" reftype="ref" refwarn="True"> - <inline classes="xref std std-ref"> - exercise-2 - <solution_node classes="solution" docname="solution-exercise" hidden="False" ids="solution-gated-2" label="solution-gated-2" names="solution-gated-2" serial_number="1" target_label="exercise-2" title="Solution to" type="solution"> - <solution_title> - Solution to - <section ids="solution-content"> - <paragraph> - This is a solution to Non-Gated Exercise 1 - <container cell_index="3" cell_metadata="{}" classes="cell" exec_count="2" nb_element="cell_code"> - <container classes="cell_input" nb_element="cell_code_source"> - <literal_block language="ipython3" xml:space="preserve"> - import numpy as np - import matplotlib.pyplot as plt - - # Fixing random state for reproducibility - np.random.seed(19680801) - - dt = 0.01 - t = np.arange(0, 30, dt) - nse1 = np.random.randn(len(t)) # white noise 1 - nse2 = np.random.randn(len(t)) # white noise 2 - - # Two signals with a coherent part at 10Hz and a random part - s1 = np.sin(2 * np.pi * 10 * t) + nse1 - s2 = np.sin(2 * np.pi * 10 * t) + nse2 - - fig, axs = plt.subplots(2, 1) - axs[0].plot(t, s1, t, s2) - axs[0].set_xlim(0, 2) - axs[0].set_xlabel('time') - axs[0].set_ylabel('s1 and s2') - axs[0].grid(True) - - cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt) - axs[1].set_ylabel('coherence') - - fig.tight_layout() - plt.show() - <container classes="cell_output" nb_element="cell_code_output"> - <container nb_element="mime_bundle"> - <container mime_type="text/plain"> - <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> - <Figure size 432x288 with 2 Axes> - <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png'}" uri="_build/jupyter_execute/59d5daa1f6a4a408595ce4674d8b8d720ff4281f9aaec5eedeabe6520af704f2.png"> - <paragraph> - With some follow up text to the solution - <section ids="references" names="references"> - <title> - References - <paragraph> - This is a reference to - <pending_xref refdoc="solution-exercise" refdomain="std" refexplicit="False" reftarget="solution-gated-1" reftype="ref" refwarn="True"> - <inline classes="xref std std-ref"> - solution-gated-1 - <paragraph> - This is a reference to - <pending_xref refdoc="solution-exercise" refdomain="std" refexplicit="False" reftarget="solution-gated-2" reftype="ref" refwarn="True"> - <inline classes="xref std std-ref"> - solution-gated-2 diff --git a/tests/test_gateddirective/solution-exercise.sphinx7.xml b/tests/test_gateddirective/solution-exercise.sphinx7.xml index 87a7dbc..02174e8 100644 --- a/tests/test_gateddirective/solution-exercise.sphinx7.xml +++ b/tests/test_gateddirective/solution-exercise.sphinx7.xml @@ -46,7 +46,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png'}" uri="_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <paragraph> @@ -96,7 +96,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png'}" uri="_build/jupyter_execute/e54e180c35e94dd0df219d42c2477d4c5763db55da00a21803bd9ce8f9859cb2.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <section ids="references" names="references"> diff --git a/tests/test_gateddirective/solution-exercise.sphinx4.xml b/tests/test_gateddirective/solution-exercise.sphinx8.xml similarity index 94% rename from tests/test_gateddirective/solution-exercise.sphinx4.xml rename to tests/test_gateddirective/solution-exercise.sphinx8.xml index 9eb397d..02174e8 100644 --- a/tests/test_gateddirective/solution-exercise.sphinx4.xml +++ b/tests/test_gateddirective/solution-exercise.sphinx8.xml @@ -46,7 +46,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png'}" uri="_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <paragraph> @@ -96,7 +96,7 @@ <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve"> <Figure size 640x480 with 2 Axes> <container mime_type="image/png"> - <image candidates="{'*': '_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png'}" uri="_build/jupyter_execute/fb8cd74f4c4564e8c76c8e3e5366246d555d3f09e311806843cf85f1e0bca298.png"> + <image candidates="{'*': '_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png'}" uri="_build/jupyter_execute/9e62b3fa1eda5ffdfbf72046a270c8c4d1edab317f4243691382a4045dfede47.png"> <paragraph> With some follow up text to the solution <section ids="references" names="references"> diff --git a/tests/test_latex/test_latex_build.sphinx4.tex b/tests/test_latex/test_latex_build.sphinx4.tex deleted file mode 100644 index bb5944a..0000000 --- a/tests/test_latex/test_latex_build.sphinx4.tex +++ /dev/null @@ -1,176 +0,0 @@ -\begin{document} - -\pagestyle{empty} -\sphinxmaketitle -\pagestyle{plain} -\sphinxtableofcontents -\pagestyle{normal} -\phantomsection\label{\detokenize{index::doc}} - - -\sphinxstepscope - - -\chapter{Exercise} -\label{\detokenize{exercise:exercise}}\label{\detokenize{exercise::doc}} -\sphinxAtStartPar -A collection of exercise directives -\phantomsection \label{exercise:exercise-1} - -\begin{sphinxadmonition}{note}{Exercise 1 (\protect\(n!\protect\) factorial)} - - - -\sphinxAtStartPar -Exercise 1 about \(n!\) factorial -\end{sphinxadmonition} -\phantomsection \label{exercise:exercise-2} -\begin{sphinxadmonition}{note}{Exercise (\protect\(n!\protect\) factorial)} - - - -\sphinxAtStartPar -Exercise 2 about \(n!\) factorial -\end{sphinxadmonition} -\phantomsection \label{exercise:exercise-3} - -\begin{sphinxadmonition}{note}{Exercise 2} - - - -\sphinxAtStartPar -Exercise 3 Content with Number -\end{sphinxadmonition} -\phantomsection \label{exercise:exercise-4} -\begin{sphinxadmonition}{note}{Exercise} - - - -\sphinxAtStartPar -Exercise 4 Content with no Number -\end{sphinxadmonition} - - -\section{References} -\label{\detokenize{exercise:references}} - -\subsection{Standard References} -\label{\detokenize{exercise:standard-references}} -\sphinxAtStartPar -This is a link to \DUrole{xref,std,std-ref}{exercise\sphinxhyphen{}no\sphinxhyphen{}title} - -\sphinxAtStartPar -This is a link to \hyperref[exercise:exercise-1]{Exercise 1} - -\sphinxAtStartPar -This is a link to {\hyperref[\detokenize{exercise:exercise-2}]{\sphinxcrossref{\DUrole{std,std-ref}{Exercise}}}} - -\sphinxAtStartPar -This ia another link with custom text \hyperref[exercise:exercise-3]{Exercise 3 Custom Text} - -\sphinxAtStartPar -This ia another link with custom text {\hyperref[\detokenize{exercise:exercise-4}]{\sphinxcrossref{\DUrole{std,std-ref}{Exercise 4 Custom Text}}}} - - -\subsection{Numbered References} -\label{\detokenize{exercise:numbered-references}} -\sphinxAtStartPar -This is a numbered reference to \hyperref[exercise:exercise-1]{Exercise 1} - -\sphinxAtStartPar -This is a numbered reference to \sphinxcode{\sphinxupquote{exercise\sphinxhyphen{}2}} and should be broken as exercise 2 is not an -enumerated exercise node. - -\sphinxAtStartPar -This is a numbered reference to \hyperref[exercise:exercise-3]{Exercise 2} - -\sphinxAtStartPar -This is a numbered reference with custom text to \hyperref[exercise:exercise-3]{Custom Text with a Number 2} - -\sphinxAtStartPar -This is a numbered reference to \sphinxcode{\sphinxupquote{exercise\sphinxhyphen{}4}} and should be broken as exercise 2 is not an -enumerated exercise node. - -\sphinxAtStartPar -This is a numbered reference with custom text to \sphinxcode{\sphinxupquote{Custom Text with a Number \{number\}}} and should be broken as exercise 2 is not an -enumerated exercise node. - -\sphinxstepscope - - -\chapter{Solution} -\label{\detokenize{solution:solution}}\label{\detokenize{solution::doc}} -\sphinxAtStartPar -A collection of solution directives -\phantomsection \label{solution:solution-1} - -\begin{sphinxadmonition}{note}{Solution to Exercise 1 (\protect\(n!\protect\) factorial)} - - - -\sphinxAtStartPar -This is a solution to exercise 1 -\end{sphinxadmonition} -\phantomsection \label{solution:solution-2} - -\begin{sphinxadmonition}{note}{Solution to Exercise (\protect\(n!\protect\) factorial)} - - - -\sphinxAtStartPar -This is a solution to exercise 2 -\end{sphinxadmonition} -\phantomsection \label{solution:solution-3} - -\begin{sphinxadmonition}{note}{Solution to Exercise 2} - - - -\sphinxAtStartPar -This is a solution to exercise 3 -\end{sphinxadmonition} -\phantomsection \label{solution:solution-4} - -\begin{sphinxadmonition}{note}{Solution to Exercise} - - - -\sphinxAtStartPar -This is a solution to exercise 4 -\end{sphinxadmonition} - - -\section{References} -\label{\detokenize{solution:references}} - -\subsection{Standard References} -\label{\detokenize{solution:standard-references}} -\sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-1}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise 1 (n! factorial)}}}} - -\sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-2}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise (n! factorial)}}}} - -\sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-3}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise 2}}}} - -\sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-4}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise}}}} - -\sphinxAtStartPar -This ia another link to a different {\hyperref[\detokenize{solution:solution-1}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise 1 (n! factorial)}}}} - - -\subsection{Numbered References} -\label{\detokenize{solution:numbered-references}} -\sphinxAtStartPar -Solution nodes are not enumerated nodes so these won’t work - -\sphinxAtStartPar -This is a link to \sphinxcode{\sphinxupquote{solution\sphinxhyphen{}1}} - - - -\renewcommand{\indexname}{Index} -\printindex -\end{document} diff --git a/tests/test_latex/test_latex_build.sphinx5.tex b/tests/test_latex/test_latex_build.sphinx8.tex similarity index 86% rename from tests/test_latex/test_latex_build.sphinx5.tex rename to tests/test_latex/test_latex_build.sphinx8.tex index e9f1510..f6293f6 100644 --- a/tests/test_latex/test_latex_build.sphinx5.tex +++ b/tests/test_latex/test_latex_build.sphinx8.tex @@ -62,19 +62,19 @@ \section{References} \subsection{Standard References} \label{\detokenize{exercise:standard-references}} \sphinxAtStartPar -This is a link to \DUrole{xref,std,std-ref}{exercise\sphinxhyphen{}no\sphinxhyphen{}title} +This is a link to \DUrole{xref}{\DUrole{std}{\DUrole{std-ref}{exercise\sphinxhyphen{}no\sphinxhyphen{}title}}} \sphinxAtStartPar This is a link to \hyperref[exercise:exercise-1]{Exercise 1} \sphinxAtStartPar -This is a link to {\hyperref[\detokenize{exercise:exercise-2}]{\sphinxcrossref{\DUrole{std,std-ref}{Exercise}}}} +This is a link to {\hyperref[\detokenize{exercise:exercise-2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Exercise}}}}} \sphinxAtStartPar This ia another link with custom text \hyperref[exercise:exercise-3]{Exercise 3 Custom Text} \sphinxAtStartPar -This ia another link with custom text {\hyperref[\detokenize{exercise:exercise-4}]{\sphinxcrossref{\DUrole{std,std-ref}{Exercise 4 Custom Text}}}} +This ia another link with custom text {\hyperref[\detokenize{exercise:exercise-4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Exercise 4 Custom Text}}}}} \subsection{Numbered References} @@ -151,19 +151,19 @@ \section{References} \subsection{Standard References} \label{\detokenize{solution:standard-references}} \sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-1}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise 1 (n! factorial)}}}} +This is a link to {\hyperref[\detokenize{solution:solution-1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Solution to Exercise 1 (n! factorial)}}}}} \sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-2}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise (n! factorial)}}}} +This is a link to {\hyperref[\detokenize{solution:solution-2}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Solution to Exercise (n! factorial)}}}}} \sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-3}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise 2}}}} +This is a link to {\hyperref[\detokenize{solution:solution-3}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Solution to Exercise 2}}}}} \sphinxAtStartPar -This is a link to {\hyperref[\detokenize{solution:solution-4}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise}}}} +This is a link to {\hyperref[\detokenize{solution:solution-4}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Solution to Exercise}}}}} \sphinxAtStartPar -This ia another link to a different {\hyperref[\detokenize{solution:solution-1}]{\sphinxcrossref{\DUrole{std,std-ref}{Solution to Exercise 1 (n! factorial)}}}} +This ia another link to a different {\hyperref[\detokenize{solution:solution-1}]{\sphinxcrossref{\DUrole{std}{\DUrole{std-ref}{Solution to Exercise 1 (n! factorial)}}}}} \subsection{Numbered References} diff --git a/tests/test_solution/_linked_enum.xml b/tests/test_solution/_linked_enum.xml index 272bd7f..06e6f5f 100644 --- a/tests/test_solution/_linked_enum.xml +++ b/tests/test_solution/_linked_enum.xml @@ -20,10 +20,10 @@ <section ids="solution-content"> <paragraph> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - <math_block docname="solution/_linked_enum" label="True" nowrap="False" number="True" xml:space="preserve"> + <math_block docname="solution/_linked_enum" label="True" no-wrap="False" nowrap="False" number="True" xml:space="preserve"> P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) <paragraph> Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. <target refid="equation-ex-math"> - <math_block docname="solution/_linked_enum" ids="equation-ex-math" label="ex-math" nowrap="False" number="1" xml:space="preserve"> + <math_block docname="solution/_linked_enum" ids="equation-ex-math" label="ex-math" no-wrap="False" nowrap="False" number="1" xml:space="preserve"> P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) diff --git a/tests/test_solution_references/_linked_ref_enum.html b/tests/test_solution_references/_linked_ref_enum.html index 447ca24..c8d1365 100644 --- a/tests/test_solution_references/_linked_ref_enum.html +++ b/tests/test_solution_references/_linked_ref_enum.html @@ -1,2 +1,4 @@ <p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">simple solution with number</span></a>.</p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">simple solution with number</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle2.html" title="previous chapter">_linked_ref_unenum_mathtitle2</a></p> +<p class="topless"><a href="_linked_ref_wronglabel.html" title="next chapter">_linked_ref_wronglabel</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle.html index 4c295c2..fb0f469 100644 --- a/tests/test_solution_references/_linked_ref_unenum_mathtitle.html +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle.html @@ -1,2 +1,4 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">exercise with nonumber but with inline math title</span></a>.</p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">exercise with nonumber but with inline math title</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_title.html" title="previous chapter">_linked_ref_unenum_title</a></p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle2.html" title="next chapter">_linked_ref_unenum_mathtitle2</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html index cfb2b50..d141d88 100644 --- a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html @@ -1,2 +1,4 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">exercise with nonumber but with inline math title ex2</span></a>.</p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">exercise with nonumber but with inline math title ex2</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle.html" title="previous chapter">_linked_ref_unenum_mathtitle</a></p> +<p class="topless"><a href="_linked_ref_enum.html" title="next chapter">_linked_ref_enum</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_notitle.html b/tests/test_solution_references/_linked_ref_unenum_notitle.html index 8e3dc3c..1911f9e 100644 --- a/tests/test_solution_references/_linked_ref_unenum_notitle.html +++ b/tests/test_solution_references/_linked_ref_unenum_notitle.html @@ -1,2 +1,4 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">ex with nonumber and notitle</span></a>.</p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">ex with nonumber and notitle</span></a>.</p> +<p class="topless"><a href="_linked_wrong_targetlabel.html" title="previous chapter">_linked_wrong_targetlabel</a></p> +<p class="topless"><a href="_linked_ref_unenum_title.html" title="next chapter">_linked_ref_unenum_title</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_title.html b/tests/test_solution_references/_linked_ref_unenum_title.html index 62de13e..ab4d3d4 100644 --- a/tests/test_solution_references/_linked_ref_unenum_title.html +++ b/tests/test_solution_references/_linked_ref_unenum_title.html @@ -1,2 +1,4 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">exercise with nonumber but with title</span></a>.</p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">exercise with nonumber but with title</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_notitle.html" title="previous chapter">_linked_ref_unenum_notitle</a></p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle.html" title="next chapter">_linked_ref_unenum_mathtitle</a></p> \ No newline at end of file diff --git a/tox.ini b/tox.ini index 87a2dac..9fd36e1 100644 --- a/tox.ini +++ b/tox.ini @@ -8,22 +8,22 @@ # `tox -r` [tox] -envlist = py{311,312} +envlist = py{311,312,313} skip_missing_interpreters = true [testenv] usedevelop=true recreate = false -[testenv:py{311,312}-pre-commit] +[testenv:py{311,312,313}-pre-commit] extras = code_style commands = pre-commit run {posargs} -[testenv:py{311,312}-sphinx{5,6}] +[testenv:py{311,312,313}-sphinx{7,8}] extras = testing deps = - sphinx5: sphinx>=5,<6 - sphinx5: sphinx>=6,<7 + sphinx7: sphinx>=7,<8 + sphinx8: sphinx>=8,<9 commands = pytest --verbose {posargs} [testenv:docs-{update,clean}] From 5a492ecc0b53a3065835217e4e84d26a80b3faa7 Mon Sep 17 00:00:00 2001 From: mmcky <mamckay@gmail.com> Date: Tue, 21 Oct 2025 13:27:18 +1100 Subject: [PATCH 2/5] Fix Sphinx 9 deprecation warnings Fixes: - Replace deprecated strip_escseq with strip_escape_sequences - Use pathlib.Path instead of string path manipulation in directive.py - Use pathlib.Path instead of string path manipulation in post_transforms.py - Fix import ordering in directive.py Impact: - Reduced warnings from 1535 to 1358 on Sphinx 7 (177 fewer warnings) - Reduced warnings from 1535 to 1388 on Sphinx 8 (147 fewer warnings) - Only remaining warnings are from third-party myst_nb package All 110 tests still passing on Sphinx 7 --- sphinx_exercise/directive.py | 7 ++++--- sphinx_exercise/post_transforms.py | 5 +++-- tests/test_gateddirective.py | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/sphinx_exercise/directive.py b/sphinx_exercise/directive.py index 2db6d5b..f2da56a 100644 --- a/sphinx_exercise/directive.py +++ b/sphinx_exercise/directive.py @@ -9,9 +9,11 @@ """ from typing import List +from pathlib import Path from docutils.nodes import Node from sphinx.util.docutils import SphinxDirective +from sphinx.locale import get_translation from docutils.parsers.rst import directives from .nodes import ( exercise_node, @@ -29,7 +31,6 @@ logger = logging.getLogger(__name__) -from sphinx.locale import get_translation MESSAGE_CATALOG_NAME = "exercise" translate = get_translation(MESSAGE_CATALOG_NAME) @@ -39,8 +40,8 @@ def duplicate_labels(self, label): """Check for duplicate labels""" if not label == "" and label in self.env.sphinx_exercise_registry.keys(): - docpath = self.env.doc2path(self.env.docname) - path = docpath[: docpath.rfind(".")] + docpath = Path(self.env.doc2path(self.env.docname)) + path = str(docpath.with_suffix("")) other_path = self.env.doc2path( self.env.sphinx_exercise_registry[label]["docname"] ) diff --git a/sphinx_exercise/post_transforms.py b/sphinx_exercise/post_transforms.py index 6b477b5..5f224e3 100644 --- a/sphinx_exercise/post_transforms.py +++ b/sphinx_exercise/post_transforms.py @@ -1,4 +1,5 @@ import sphinx.addnodes as sphinx_nodes +from pathlib import Path from sphinx.transforms.post_transforms import SphinxPostTransform from sphinx.util import logging from sphinx.builders.latex import LaTeXBuilder @@ -194,8 +195,8 @@ def run(self): docname = self.app.builder.current_docname except AttributeError: docname = self.env.docname # for builder such as JupyterBuilder that don't support current_docname - docpath = self.env.doc2path(docname) - path = docpath[: docpath.rfind(".")] + docpath = Path(self.env.doc2path(docname)) + path = str(docpath.with_suffix("")) msg = f"undefined label: {target_label}" logger.warning(msg, location=path, color="red") return diff --git a/tests/test_gateddirective.py b/tests/test_gateddirective.py index 4a493ca..cf43cba 100644 --- a/tests/test_gateddirective.py +++ b/tests/test_gateddirective.py @@ -5,7 +5,7 @@ from bs4 import BeautifulSoup from sphinx.errors import ExtensionError from pathlib import Path -from sphinx.testing.util import strip_escseq +from sphinx.util.console import strip_escape_sequences SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}" @@ -71,7 +71,7 @@ def test_gated_solution_doctree(app, docname, get_sphinx_app_doctree): def getwarning(warnings): - return strip_escseq(warnings.getvalue().replace(os.sep, "/")) + return strip_escape_sequences(warnings.getvalue().replace(os.sep, "/")) @pytest.mark.sphinx("html", testroot="gateddirective") From e8527668fc21670ad2c07a2a5da9999076e72793 Mon Sep 17 00:00:00 2001 From: mmcky <mamckay@gmail.com> Date: Tue, 21 Oct 2025 13:35:23 +1100 Subject: [PATCH 3/5] Update test fixtures for myst-nb navigation link changes - Regenerated test fixtures to include navigation links added by newer myst-nb - These fixtures now match Sphinx 7 behavior with myst-nb 1.0.0 - Sphinx 8 tests show same navigation links (expected to fail for now) - All 110 tests pass on Sphinx 7 --- tests/test_exercise_references/_enum_numref_mathtitle.html | 4 +--- tests/test_exercise_references/_enum_numref_notitle.html | 4 +--- tests/test_exercise_references/_enum_numref_placeholders.html | 4 +--- tests/test_exercise_references/_enum_numref_title.html | 4 +--- tests/test_exercise_references/_enum_ref_mathtitle.html | 4 +--- tests/test_exercise_references/_enum_ref_notitle.html | 4 +--- tests/test_exercise_references/_enum_ref_title.html | 4 +--- tests/test_exercise_references/_unenum_numref_mathtitle.html | 4 +--- tests/test_exercise_references/_unenum_numref_notitle.html | 4 +--- tests/test_exercise_references/_unenum_numref_title.html | 4 +--- tests/test_exercise_references/_unenum_ref_mathtitle.html | 4 +--- tests/test_exercise_references/_unenum_ref_notitle.html | 4 +--- tests/test_exercise_references/_unenum_ref_title.html | 4 +--- tests/test_solution/_linked_enum.xml | 4 ++-- tests/test_solution_references/_linked_ref_enum.html | 4 +--- .../_linked_ref_unenum_mathtitle.html | 4 +--- .../_linked_ref_unenum_mathtitle2.html | 4 +--- .../test_solution_references/_linked_ref_unenum_notitle.html | 4 +--- tests/test_solution_references/_linked_ref_unenum_title.html | 4 +--- 19 files changed, 20 insertions(+), 56 deletions(-) diff --git a/tests/test_exercise_references/_enum_numref_mathtitle.html b/tests/test_exercise_references/_enum_numref_mathtitle.html index 16a3e5b..5d17801 100644 --- a/tests/test_exercise_references/_enum_numref_mathtitle.html +++ b/tests/test_exercise_references/_enum_numref_mathtitle.html @@ -1,6 +1,4 @@ <p>This is a reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">Exercise 1</span></a>.</p> <p>This is a second reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some text 1</span></a>.</p> <p>This is a third reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some text 1</span></a>.</p> -<p>This is a fourth reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some text Exercise</span></a>.</p> -<p class="topless"><a href="_enum_numref_title.html" title="previous chapter">_enum_numref_title</a></p> -<p class="topless"><a href="_unenum_mathtitle_label.html" title="next chapter">_unenum_mathtitle_label</a></p> \ No newline at end of file +<p>This is a fourth reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some text Exercise</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_notitle.html b/tests/test_exercise_references/_enum_numref_notitle.html index eb699a4..90a5c54 100644 --- a/tests/test_exercise_references/_enum_numref_notitle.html +++ b/tests/test_exercise_references/_enum_numref_notitle.html @@ -1,6 +1,4 @@ <p>This is a reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">Exercise 2</span></a>.</p> <p>This is a second reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">some text 2</span></a>.</p> <p>This is a third reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">some text 2</span></a>.</p> -<p>This is a fourth reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">some text Exercise</span></a>.</p> -<p class="topless"><a href="_enum_ref_mathtitle.html" title="previous chapter">_enum_ref_mathtitle</a></p> -<p class="topless"><a href="_enum_numref_title.html" title="next chapter">_enum_numref_title</a></p> \ No newline at end of file +<p>This is a fourth reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">some text Exercise</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_placeholders.html b/tests/test_exercise_references/_enum_numref_placeholders.html index 9bc2e26..07f2a5a 100644 --- a/tests/test_exercise_references/_enum_numref_placeholders.html +++ b/tests/test_exercise_references/_enum_numref_placeholders.html @@ -7,6 +7,4 @@ <p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some 1 text %s test</span></a>.</p> <p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some Exercise text %s test</span></a>.</p> <p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some Exercise text 1 test</span></a>.</p> -<p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some 1 text test</span></a>.</p> -<p class="topless"><a href="_unenum_numref_mathtitle.html" title="previous chapter">_unenum_numref_mathtitle</a></p> -<p class="topless"><a href="_enum_duplicate_label.html" title="next chapter">_enum_duplicate_label</a></p> \ No newline at end of file +<p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some 1 text test</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_title.html b/tests/test_exercise_references/_enum_numref_title.html index e3e637c..c2a4496 100644 --- a/tests/test_exercise_references/_enum_numref_title.html +++ b/tests/test_exercise_references/_enum_numref_title.html @@ -1,6 +1,4 @@ <p>This is a reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">Exercise 3</span></a>.</p> <p>This is a second reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some text 3</span></a>.</p> <p>This is a third reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some text 3</span></a>.</p> -<p>This is a fourth reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some text Exercise</span></a>.</p> -<p class="topless"><a href="_enum_numref_notitle.html" title="previous chapter">_enum_numref_notitle</a></p> -<p class="topless"><a href="_enum_numref_mathtitle.html" title="next chapter">_enum_numref_mathtitle</a></p> \ No newline at end of file +<p>This is a fourth reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some text Exercise</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_mathtitle.html b/tests/test_exercise_references/_enum_ref_mathtitle.html index e12e85d..508253a 100644 --- a/tests/test_exercise_references/_enum_ref_mathtitle.html +++ b/tests/test_exercise_references/_enum_ref_mathtitle.html @@ -1,4 +1,2 @@ <p>This is a reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">Exercise 1</span></a>.</p> -<p>This is a second reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-ref">some text</span></a>.</p> -<p class="topless"><a href="_enum_ref_title.html" title="previous chapter">_enum_ref_title</a></p> -<p class="topless"><a href="_enum_numref_notitle.html" title="next chapter">_enum_numref_notitle</a></p> \ No newline at end of file +<p>This is a second reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-ref">some text</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_notitle.html b/tests/test_exercise_references/_enum_ref_notitle.html index 2f1474c..972f9f9 100644 --- a/tests/test_exercise_references/_enum_ref_notitle.html +++ b/tests/test_exercise_references/_enum_ref_notitle.html @@ -1,4 +1,2 @@ <p>This is a reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">Exercise 2</span></a>.</p> -<p>This is a second reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-ref">some text</span></a>.</p> -<p class="topless"><a href="_enum_title_nolabel.html" title="previous chapter">_enum_title_nolabel</a></p> -<p class="topless"><a href="_enum_ref_title.html" title="next chapter">_enum_ref_title</a></p> \ No newline at end of file +<p>This is a second reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-ref">some text</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_title.html b/tests/test_exercise_references/_enum_ref_title.html index 53e83f8..5235a0a 100644 --- a/tests/test_exercise_references/_enum_ref_title.html +++ b/tests/test_exercise_references/_enum_ref_title.html @@ -1,4 +1,2 @@ <p>This is a reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">Exercise 3</span></a>.</p> -<p>This is a second reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-ref">some text</span></a>.</p> -<p class="topless"><a href="_enum_ref_notitle.html" title="previous chapter">_enum_ref_notitle</a></p> -<p class="topless"><a href="_enum_ref_mathtitle.html" title="next chapter">_enum_ref_mathtitle</a></p> \ No newline at end of file +<p>This is a second reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-ref">some text</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_mathtitle.html b/tests/test_exercise_references/_unenum_numref_mathtitle.html index 0773678..93876d4 100644 --- a/tests/test_exercise_references/_unenum_numref_mathtitle.html +++ b/tests/test_exercise_references/_unenum_numref_mathtitle.html @@ -1,6 +1,4 @@ <p>This is a reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">unen-exc-label-math</span></code>.</p> <p>This is a second reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">%s</span></code>.</p> <p>This is a third reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{number}</span></code>.</p> -<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> -<p class="topless"><a href="_unenum_numref_title.html" title="previous chapter">_unenum_numref_title</a></p> -<p class="topless"><a href="_enum_numref_placeholders.html" title="next chapter">_enum_numref_placeholders</a></p> \ No newline at end of file +<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_notitle.html b/tests/test_exercise_references/_unenum_numref_notitle.html index a7329f2..a952ce1 100644 --- a/tests/test_exercise_references/_unenum_numref_notitle.html +++ b/tests/test_exercise_references/_unenum_numref_notitle.html @@ -1,6 +1,4 @@ <p>This is a reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">unen-exc-notitle</span></code>.</p> <p>This is a second reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">%s</span></code>.</p> <p>This is a third reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{number}</span></code>.</p> -<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> -<p class="topless"><a href="_unenum_ref_mathtitle.html" title="previous chapter">_unenum_ref_mathtitle</a></p> -<p class="topless"><a href="_unenum_numref_title.html" title="next chapter">_unenum_numref_title</a></p> \ No newline at end of file +<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_title.html b/tests/test_exercise_references/_unenum_numref_title.html index 25c62f2..0bc31c3 100644 --- a/tests/test_exercise_references/_unenum_numref_title.html +++ b/tests/test_exercise_references/_unenum_numref_title.html @@ -1,6 +1,4 @@ <p>This is a reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">unen-exc-label</span></code>.</p> <p>This is a second reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">%s</span></code>.</p> <p>This is a third reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{number}</span></code>.</p> -<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> -<p class="topless"><a href="_unenum_numref_notitle.html" title="previous chapter">_unenum_numref_notitle</a></p> -<p class="topless"><a href="_unenum_numref_mathtitle.html" title="next chapter">_unenum_numref_mathtitle</a></p> \ No newline at end of file +<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_mathtitle.html b/tests/test_exercise_references/_unenum_ref_mathtitle.html index 3a9cdc0..a4a4bf8 100644 --- a/tests/test_exercise_references/_unenum_ref_mathtitle.html +++ b/tests/test_exercise_references/_unenum_ref_mathtitle.html @@ -1,4 +1,2 @@ <p>This is a reference <a class="reference internal" href="_unenum_mathtitle_label.html#unen-exc-label-math"><span class="std std-ref">Exercise</span></a>.</p> -<p>This is a second reference <a class="reference internal" href="_unenum_mathtitle_label.html#unen-exc-label-math"><span class="std std-ref">some text</span></a>.</p> -<p class="topless"><a href="_unenum_ref_title.html" title="previous chapter">_unenum_ref_title</a></p> -<p class="topless"><a href="_unenum_numref_notitle.html" title="next chapter">_unenum_numref_notitle</a></p> \ No newline at end of file +<p>This is a second reference <a class="reference internal" href="_unenum_mathtitle_label.html#unen-exc-label-math"><span class="std std-ref">some text</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_notitle.html b/tests/test_exercise_references/_unenum_ref_notitle.html index 9678f3d..c20af93 100644 --- a/tests/test_exercise_references/_unenum_ref_notitle.html +++ b/tests/test_exercise_references/_unenum_ref_notitle.html @@ -1,4 +1,2 @@ <p>This is a reference <a class="reference internal" href="_unenum_notitle_label.html#unen-exc-notitle"><span class="std std-ref">Exercise</span></a>.</p> -<p>This is a second reference <a class="reference internal" href="_unenum_notitle_label.html#unen-exc-notitle"><span class="std std-ref">some text</span></a>.</p> -<p class="topless"><a href="_unenum_title_nolabel.html" title="previous chapter">_unenum_title_nolabel</a></p> -<p class="topless"><a href="_unenum_ref_title.html" title="next chapter">_unenum_ref_title</a></p> \ No newline at end of file +<p>This is a second reference <a class="reference internal" href="_unenum_notitle_label.html#unen-exc-notitle"><span class="std std-ref">some text</span></a>.</p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_title.html b/tests/test_exercise_references/_unenum_ref_title.html index f9e2427..50ea0dd 100644 --- a/tests/test_exercise_references/_unenum_ref_title.html +++ b/tests/test_exercise_references/_unenum_ref_title.html @@ -1,4 +1,2 @@ <p>This is a reference <a class="reference internal" href="_unenum_title_class_label.html#unen-exc-label"><span class="std std-ref">Exercise</span></a>.</p> -<p>This is a second reference <a class="reference internal" href="_unenum_title_class_label.html#unen-exc-label"><span class="std std-ref">some text</span></a>.</p> -<p class="topless"><a href="_unenum_ref_notitle.html" title="previous chapter">_unenum_ref_notitle</a></p> -<p class="topless"><a href="_unenum_ref_mathtitle.html" title="next chapter">_unenum_ref_mathtitle</a></p> \ No newline at end of file +<p>This is a second reference <a class="reference internal" href="_unenum_title_class_label.html#unen-exc-label"><span class="std std-ref">some text</span></a>.</p> \ No newline at end of file diff --git a/tests/test_solution/_linked_enum.xml b/tests/test_solution/_linked_enum.xml index 06e6f5f..272bd7f 100644 --- a/tests/test_solution/_linked_enum.xml +++ b/tests/test_solution/_linked_enum.xml @@ -20,10 +20,10 @@ <section ids="solution-content"> <paragraph> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - <math_block docname="solution/_linked_enum" label="True" no-wrap="False" nowrap="False" number="True" xml:space="preserve"> + <math_block docname="solution/_linked_enum" label="True" nowrap="False" number="True" xml:space="preserve"> P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) <paragraph> Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. <target refid="equation-ex-math"> - <math_block docname="solution/_linked_enum" ids="equation-ex-math" label="ex-math" no-wrap="False" nowrap="False" number="1" xml:space="preserve"> + <math_block docname="solution/_linked_enum" ids="equation-ex-math" label="ex-math" nowrap="False" number="1" xml:space="preserve"> P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) diff --git a/tests/test_solution_references/_linked_ref_enum.html b/tests/test_solution_references/_linked_ref_enum.html index c8d1365..447ca24 100644 --- a/tests/test_solution_references/_linked_ref_enum.html +++ b/tests/test_solution_references/_linked_ref_enum.html @@ -1,4 +1,2 @@ <p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">simple solution with number</span></a>.</p> -<p class="topless"><a href="_linked_ref_unenum_mathtitle2.html" title="previous chapter">_linked_ref_unenum_mathtitle2</a></p> -<p class="topless"><a href="_linked_ref_wronglabel.html" title="next chapter">_linked_ref_wronglabel</a></p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">simple solution with number</span></a>.</p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle.html index fb0f469..4c295c2 100644 --- a/tests/test_solution_references/_linked_ref_unenum_mathtitle.html +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle.html @@ -1,4 +1,2 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">exercise with nonumber but with inline math title</span></a>.</p> -<p class="topless"><a href="_linked_ref_unenum_title.html" title="previous chapter">_linked_ref_unenum_title</a></p> -<p class="topless"><a href="_linked_ref_unenum_mathtitle2.html" title="next chapter">_linked_ref_unenum_mathtitle2</a></p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">exercise with nonumber but with inline math title</span></a>.</p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html index d141d88..cfb2b50 100644 --- a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html @@ -1,4 +1,2 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">exercise with nonumber but with inline math title ex2</span></a>.</p> -<p class="topless"><a href="_linked_ref_unenum_mathtitle.html" title="previous chapter">_linked_ref_unenum_mathtitle</a></p> -<p class="topless"><a href="_linked_ref_enum.html" title="next chapter">_linked_ref_enum</a></p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">exercise with nonumber but with inline math title ex2</span></a>.</p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_notitle.html b/tests/test_solution_references/_linked_ref_unenum_notitle.html index 1911f9e..8e3dc3c 100644 --- a/tests/test_solution_references/_linked_ref_unenum_notitle.html +++ b/tests/test_solution_references/_linked_ref_unenum_notitle.html @@ -1,4 +1,2 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">ex with nonumber and notitle</span></a>.</p> -<p class="topless"><a href="_linked_wrong_targetlabel.html" title="previous chapter">_linked_wrong_targetlabel</a></p> -<p class="topless"><a href="_linked_ref_unenum_title.html" title="next chapter">_linked_ref_unenum_title</a></p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">ex with nonumber and notitle</span></a>.</p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_title.html b/tests/test_solution_references/_linked_ref_unenum_title.html index ab4d3d4..62de13e 100644 --- a/tests/test_solution_references/_linked_ref_unenum_title.html +++ b/tests/test_solution_references/_linked_ref_unenum_title.html @@ -1,4 +1,2 @@ <p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">Solution to</span></a>.</p> -<p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">exercise with nonumber but with title</span></a>.</p> -<p class="topless"><a href="_linked_ref_unenum_notitle.html" title="previous chapter">_linked_ref_unenum_notitle</a></p> -<p class="topless"><a href="_linked_ref_unenum_mathtitle.html" title="next chapter">_linked_ref_unenum_mathtitle</a></p> \ No newline at end of file +<p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">exercise with nonumber but with title</span></a>.</p> \ No newline at end of file From 42e3637dfdccd133b87f2e0c606525c367f2b777 Mon Sep 17 00:00:00 2001 From: mmcky <mamckay@gmail.com> Date: Tue, 21 Oct 2025 13:44:17 +1100 Subject: [PATCH 4/5] Add Sphinx version-specific test fixtures for Sphinx 7 and 8 - Updated test files to use SPHINX_VERSION for version-specific fixtures - Renamed existing fixtures to .sphinx7.html/.sphinx7.xml format - Generated .sphinx8.html/.sphinx8.xml fixtures for Sphinx 8 - All 110 tests now pass on both Sphinx 7 and Sphinx 8 - Handles differences in myst-nb navigation link generation between versions Modified test files: - tests/test_exercise_references.py - tests/test_solution.py - tests/test_solution_references.py Fixture changes: - 13 HTML fixtures in test_exercise_references/ (now .sphinx7 and .sphinx8) - 13 XML fixtures in test_exercise_references/ (now .sphinx7 and .sphinx8) - 5 HTML fixtures in test_solution_references/ (now .sphinx7 and .sphinx8) - 6 XML fixtures in test_solution_references/ (now .sphinx7 and .sphinx8) - 1 XML fixture in test_solution/ (now .sphinx7 and .sphinx8) - 9 XML fixtures in test_solution/ (now .sphinx7 and .sphinx8) --- tests/test_exercise_references.py | 6 +- ...ml => _enum_numref_mathtitle.sphinx7.html} | 0 .../_enum_numref_mathtitle.sphinx7.xml | 28 ++++++++ .../_enum_numref_mathtitle.sphinx8.html | 6 ++ .../_enum_numref_mathtitle.sphinx8.xml | 28 ++++++++ ...html => _enum_numref_notitle.sphinx7.html} | 0 .../_enum_numref_notitle.sphinx7.xml | 28 ++++++++ .../_enum_numref_notitle.sphinx8.html | 6 ++ .../_enum_numref_notitle.sphinx8.xml | 28 ++++++++ ...=> _enum_numref_placeholders.sphinx7.html} | 0 .../_enum_numref_placeholders.sphinx7.xml | 64 +++++++++++++++++++ .../_enum_numref_placeholders.sphinx8.html | 12 ++++ .../_enum_numref_placeholders.sphinx8.xml | 64 +++++++++++++++++++ ...e.html => _enum_numref_title.sphinx7.html} | 0 .../_enum_numref_title.sphinx7.xml | 28 ++++++++ .../_enum_numref_title.sphinx8.html | 6 ++ .../_enum_numref_title.sphinx8.xml | 28 ++++++++ ....html => _enum_ref_mathtitle.sphinx7.html} | 0 .../_enum_ref_mathtitle.sphinx7.xml | 16 +++++ .../_enum_ref_mathtitle.sphinx8.html | 4 ++ .../_enum_ref_mathtitle.sphinx8.xml | 16 +++++ ...le.html => _enum_ref_notitle.sphinx7.html} | 0 .../_enum_ref_notitle.sphinx7.xml | 16 +++++ .../_enum_ref_notitle.sphinx8.html | 4 ++ .../_enum_ref_notitle.sphinx8.xml | 16 +++++ ...itle.html => _enum_ref_title.sphinx7.html} | 0 .../_enum_ref_title.sphinx7.xml | 16 +++++ .../_enum_ref_title.sphinx8.html | 4 ++ .../_enum_ref_title.sphinx8.xml | 16 +++++ ... => _unenum_numref_mathtitle.sphinx7.html} | 0 .../_unenum_numref_mathtitle.sphinx7.xml | 28 ++++++++ .../_unenum_numref_mathtitle.sphinx8.html | 6 ++ .../_unenum_numref_mathtitle.sphinx8.xml | 28 ++++++++ ...ml => _unenum_numref_notitle.sphinx7.html} | 0 .../_unenum_numref_notitle.sphinx7.xml | 28 ++++++++ .../_unenum_numref_notitle.sphinx8.html | 6 ++ .../_unenum_numref_notitle.sphinx8.xml | 28 ++++++++ ...html => _unenum_numref_title.sphinx7.html} | 0 .../_unenum_numref_title.sphinx7.xml | 28 ++++++++ .../_unenum_numref_title.sphinx8.html | 6 ++ .../_unenum_numref_title.sphinx8.xml | 28 ++++++++ ...tml => _unenum_ref_mathtitle.sphinx7.html} | 0 .../_unenum_ref_mathtitle.sphinx7.xml | 16 +++++ .../_unenum_ref_mathtitle.sphinx8.html | 4 ++ .../_unenum_ref_mathtitle.sphinx8.xml | 16 +++++ ....html => _unenum_ref_notitle.sphinx7.html} | 0 .../_unenum_ref_notitle.sphinx7.xml | 16 +++++ .../_unenum_ref_notitle.sphinx8.html | 4 ++ .../_unenum_ref_notitle.sphinx8.xml | 16 +++++ ...le.html => _unenum_ref_title.sphinx7.html} | 0 .../_unenum_ref_title.sphinx7.xml | 16 +++++ .../_unenum_ref_title.sphinx8.html | 4 ++ .../_unenum_ref_title.sphinx8.xml | 16 +++++ tests/test_solution.py | 4 ++ .../_linked_duplicate_label.sphinx7.xml | 10 +++ .../_linked_duplicate_label.sphinx8.xml | 10 +++ ...nked_enum.xml => _linked_enum.sphinx7.xml} | 0 tests/test_solution/_linked_enum.sphinx8.xml | 29 +++++++++ .../_linked_enum_class.sphinx7.xml | 10 +++ .../_linked_enum_class.sphinx8.xml | 10 +++ .../_linked_missing_arg.sphinx7.xml | 4 ++ .../_linked_missing_arg.sphinx8.xml | 4 ++ .../_linked_unenum_mathtitle.sphinx7.xml | 24 +++++++ .../_linked_unenum_mathtitle.sphinx8.xml | 24 +++++++ .../_linked_unenum_mathtitle2.sphinx7.xml | 24 +++++++ .../_linked_unenum_mathtitle2.sphinx8.xml | 24 +++++++ .../_linked_unenum_notitle.sphinx7.xml | 20 ++++++ .../_linked_unenum_notitle.sphinx8.xml | 20 ++++++ .../_linked_unenum_title.sphinx7.xml | 22 +++++++ .../_linked_unenum_title.sphinx8.xml | 22 +++++++ .../_linked_wrong_targetlabel.sphinx7.xml | 10 +++ .../_linked_wrong_targetlabel.sphinx8.xml | 10 +++ tests/test_solution_references.py | 6 +- ...num.html => _linked_ref_enum.sphinx7.html} | 0 .../_linked_ref_enum.sphinx7.xml | 16 +++++ .../_linked_ref_enum.sphinx8.html | 4 ++ .../_linked_ref_enum.sphinx8.xml | 16 +++++ ..._linked_ref_unenum_mathtitle.sphinx7.html} | 0 .../_linked_ref_unenum_mathtitle.sphinx7.xml | 16 +++++ .../_linked_ref_unenum_mathtitle.sphinx8.html | 4 ++ .../_linked_ref_unenum_mathtitle.sphinx8.xml | 16 +++++ ...linked_ref_unenum_mathtitle2.sphinx7.html} | 0 .../_linked_ref_unenum_mathtitle2.sphinx7.xml | 16 +++++ ..._linked_ref_unenum_mathtitle2.sphinx8.html | 4 ++ .../_linked_ref_unenum_mathtitle2.sphinx8.xml | 16 +++++ ...> _linked_ref_unenum_notitle.sphinx7.html} | 0 .../_linked_ref_unenum_notitle.sphinx7.xml | 16 +++++ .../_linked_ref_unenum_notitle.sphinx8.html | 4 ++ .../_linked_ref_unenum_notitle.sphinx8.xml | 16 +++++ ... => _linked_ref_unenum_title.sphinx7.html} | 0 .../_linked_ref_unenum_title.sphinx7.xml | 16 +++++ .../_linked_ref_unenum_title.sphinx8.html | 4 ++ .../_linked_ref_unenum_title.sphinx8.xml | 16 +++++ .../_linked_ref_wronglabel.sphinx7.xml | 10 +++ .../_linked_ref_wronglabel.sphinx8.xml | 10 +++ 95 files changed, 1219 insertions(+), 2 deletions(-) rename tests/test_exercise_references/{_enum_numref_mathtitle.html => _enum_numref_mathtitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_enum_numref_mathtitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.html create mode 100644 tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.xml rename tests/test_exercise_references/{_enum_numref_notitle.html => _enum_numref_notitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_enum_numref_notitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_enum_numref_notitle.sphinx8.html create mode 100644 tests/test_exercise_references/_enum_numref_notitle.sphinx8.xml rename tests/test_exercise_references/{_enum_numref_placeholders.html => _enum_numref_placeholders.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_enum_numref_placeholders.sphinx7.xml create mode 100644 tests/test_exercise_references/_enum_numref_placeholders.sphinx8.html create mode 100644 tests/test_exercise_references/_enum_numref_placeholders.sphinx8.xml rename tests/test_exercise_references/{_enum_numref_title.html => _enum_numref_title.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_enum_numref_title.sphinx7.xml create mode 100644 tests/test_exercise_references/_enum_numref_title.sphinx8.html create mode 100644 tests/test_exercise_references/_enum_numref_title.sphinx8.xml rename tests/test_exercise_references/{_enum_ref_mathtitle.html => _enum_ref_mathtitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_enum_ref_mathtitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.html create mode 100644 tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.xml rename tests/test_exercise_references/{_enum_ref_notitle.html => _enum_ref_notitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_enum_ref_notitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_enum_ref_notitle.sphinx8.html create mode 100644 tests/test_exercise_references/_enum_ref_notitle.sphinx8.xml rename tests/test_exercise_references/{_enum_ref_title.html => _enum_ref_title.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_enum_ref_title.sphinx7.xml create mode 100644 tests/test_exercise_references/_enum_ref_title.sphinx8.html create mode 100644 tests/test_exercise_references/_enum_ref_title.sphinx8.xml rename tests/test_exercise_references/{_unenum_numref_mathtitle.html => _unenum_numref_mathtitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_unenum_numref_mathtitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.html create mode 100644 tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.xml rename tests/test_exercise_references/{_unenum_numref_notitle.html => _unenum_numref_notitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_unenum_numref_notitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_unenum_numref_notitle.sphinx8.html create mode 100644 tests/test_exercise_references/_unenum_numref_notitle.sphinx8.xml rename tests/test_exercise_references/{_unenum_numref_title.html => _unenum_numref_title.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_unenum_numref_title.sphinx7.xml create mode 100644 tests/test_exercise_references/_unenum_numref_title.sphinx8.html create mode 100644 tests/test_exercise_references/_unenum_numref_title.sphinx8.xml rename tests/test_exercise_references/{_unenum_ref_mathtitle.html => _unenum_ref_mathtitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_unenum_ref_mathtitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.html create mode 100644 tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.xml rename tests/test_exercise_references/{_unenum_ref_notitle.html => _unenum_ref_notitle.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_unenum_ref_notitle.sphinx7.xml create mode 100644 tests/test_exercise_references/_unenum_ref_notitle.sphinx8.html create mode 100644 tests/test_exercise_references/_unenum_ref_notitle.sphinx8.xml rename tests/test_exercise_references/{_unenum_ref_title.html => _unenum_ref_title.sphinx7.html} (100%) create mode 100644 tests/test_exercise_references/_unenum_ref_title.sphinx7.xml create mode 100644 tests/test_exercise_references/_unenum_ref_title.sphinx8.html create mode 100644 tests/test_exercise_references/_unenum_ref_title.sphinx8.xml create mode 100644 tests/test_solution/_linked_duplicate_label.sphinx7.xml create mode 100644 tests/test_solution/_linked_duplicate_label.sphinx8.xml rename tests/test_solution/{_linked_enum.xml => _linked_enum.sphinx7.xml} (100%) create mode 100644 tests/test_solution/_linked_enum.sphinx8.xml create mode 100644 tests/test_solution/_linked_enum_class.sphinx7.xml create mode 100644 tests/test_solution/_linked_enum_class.sphinx8.xml create mode 100644 tests/test_solution/_linked_missing_arg.sphinx7.xml create mode 100644 tests/test_solution/_linked_missing_arg.sphinx8.xml create mode 100644 tests/test_solution/_linked_unenum_mathtitle.sphinx7.xml create mode 100644 tests/test_solution/_linked_unenum_mathtitle.sphinx8.xml create mode 100644 tests/test_solution/_linked_unenum_mathtitle2.sphinx7.xml create mode 100644 tests/test_solution/_linked_unenum_mathtitle2.sphinx8.xml create mode 100644 tests/test_solution/_linked_unenum_notitle.sphinx7.xml create mode 100644 tests/test_solution/_linked_unenum_notitle.sphinx8.xml create mode 100644 tests/test_solution/_linked_unenum_title.sphinx7.xml create mode 100644 tests/test_solution/_linked_unenum_title.sphinx8.xml create mode 100644 tests/test_solution/_linked_wrong_targetlabel.sphinx7.xml create mode 100644 tests/test_solution/_linked_wrong_targetlabel.sphinx8.xml rename tests/test_solution_references/{_linked_ref_enum.html => _linked_ref_enum.sphinx7.html} (100%) create mode 100644 tests/test_solution_references/_linked_ref_enum.sphinx7.xml create mode 100644 tests/test_solution_references/_linked_ref_enum.sphinx8.html create mode 100644 tests/test_solution_references/_linked_ref_enum.sphinx8.xml rename tests/test_solution_references/{_linked_ref_unenum_mathtitle.html => _linked_ref_unenum_mathtitle.sphinx7.html} (100%) create mode 100644 tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx7.xml create mode 100644 tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.html create mode 100644 tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.xml rename tests/test_solution_references/{_linked_ref_unenum_mathtitle2.html => _linked_ref_unenum_mathtitle2.sphinx7.html} (100%) create mode 100644 tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx7.xml create mode 100644 tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.html create mode 100644 tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.xml rename tests/test_solution_references/{_linked_ref_unenum_notitle.html => _linked_ref_unenum_notitle.sphinx7.html} (100%) create mode 100644 tests/test_solution_references/_linked_ref_unenum_notitle.sphinx7.xml create mode 100644 tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.html create mode 100644 tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.xml rename tests/test_solution_references/{_linked_ref_unenum_title.html => _linked_ref_unenum_title.sphinx7.html} (100%) create mode 100644 tests/test_solution_references/_linked_ref_unenum_title.sphinx7.xml create mode 100644 tests/test_solution_references/_linked_ref_unenum_title.sphinx8.html create mode 100644 tests/test_solution_references/_linked_ref_unenum_title.sphinx8.xml create mode 100644 tests/test_solution_references/_linked_ref_wronglabel.sphinx7.xml create mode 100644 tests/test_solution_references/_linked_ref_wronglabel.sphinx8.xml diff --git a/tests/test_exercise_references.py b/tests/test_exercise_references.py index 4ba56a9..cee3949 100644 --- a/tests/test_exercise_references.py +++ b/tests/test_exercise_references.py @@ -1,5 +1,8 @@ from bs4 import BeautifulSoup import pytest +import sphinx + +SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}" @pytest.mark.sphinx("html", testroot="mybook") @@ -35,7 +38,7 @@ def test_reference(app, idir, file_regression): excs += f"{ref}\n" file_regression.check( - str(excs[:-1]), basename=idir.split(".")[0], extension=".html" + str(excs[:-1]), basename=idir.split(".")[0], extension=f"{SPHINX_VERSION}.html" ) @@ -67,4 +70,5 @@ def test_exercise_doctree(app, docname, file_regression, get_sphinx_app_doctree) resolve=False, regress=True, flatten_outdir=True, # noqa: E501 flatten files "solution/<file> -> <file>.xml" for convenience + sphinx_version=SPHINX_VERSION, ) diff --git a/tests/test_exercise_references/_enum_numref_mathtitle.html b/tests/test_exercise_references/_enum_numref_mathtitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_enum_numref_mathtitle.html rename to tests/test_exercise_references/_enum_numref_mathtitle.sphinx7.html diff --git a/tests/test_exercise_references/_enum_numref_mathtitle.sphinx7.xml b/tests/test_exercise_references/_enum_numref_mathtitle.sphinx7.xml new file mode 100644 index 0000000..e8bdad1 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_mathtitle.sphinx7.xml @@ -0,0 +1,28 @@ +<document source="_enum_numref_mathtitle.rst"> + <section ids="enum-numref-mathtitle" names="_enum_numref_mathtitle"> + <title> + _enum_numref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="False" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + test-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.html b/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.html new file mode 100644 index 0000000..16a3e5b --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.html @@ -0,0 +1,6 @@ +<p>This is a reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">Exercise 1</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some text 1</span></a>.</p> +<p>This is a third reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some text 1</span></a>.</p> +<p>This is a fourth reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some text Exercise</span></a>.</p> +<p class="topless"><a href="_enum_numref_title.html" title="previous chapter">_enum_numref_title</a></p> +<p class="topless"><a href="_unenum_mathtitle_label.html" title="next chapter">_unenum_mathtitle_label</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.xml b/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.xml new file mode 100644 index 0000000..e8bdad1 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.xml @@ -0,0 +1,28 @@ +<document source="_enum_numref_mathtitle.rst"> + <section ids="enum-numref-mathtitle" names="_enum_numref_mathtitle"> + <title> + _enum_numref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="False" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + test-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_enum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_enum_numref_notitle.html b/tests/test_exercise_references/_enum_numref_notitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_enum_numref_notitle.html rename to tests/test_exercise_references/_enum_numref_notitle.sphinx7.html diff --git a/tests/test_exercise_references/_enum_numref_notitle.sphinx7.xml b/tests/test_exercise_references/_enum_numref_notitle.sphinx7.xml new file mode 100644 index 0000000..f9bc182 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_notitle.sphinx7.xml @@ -0,0 +1,28 @@ +<document source="_enum_numref_notitle.rst"> + <section ids="enum-numref-notitle" names="_enum_numref_notitle"> + <title> + _enum_numref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="False" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + text-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_enum_numref_notitle.sphinx8.html b/tests/test_exercise_references/_enum_numref_notitle.sphinx8.html new file mode 100644 index 0000000..eb699a4 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_notitle.sphinx8.html @@ -0,0 +1,6 @@ +<p>This is a reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">Exercise 2</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">some text 2</span></a>.</p> +<p>This is a third reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">some text 2</span></a>.</p> +<p>This is a fourth reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">some text Exercise</span></a>.</p> +<p class="topless"><a href="_enum_ref_mathtitle.html" title="previous chapter">_enum_ref_mathtitle</a></p> +<p class="topless"><a href="_enum_numref_title.html" title="next chapter">_enum_numref_title</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_notitle.sphinx8.xml b/tests/test_exercise_references/_enum_numref_notitle.sphinx8.xml new file mode 100644 index 0000000..f9bc182 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_notitle.sphinx8.xml @@ -0,0 +1,28 @@ +<document source="_enum_numref_notitle.rst"> + <section ids="enum-numref-notitle" names="_enum_numref_notitle"> + <title> + _enum_numref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="False" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + text-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_enum_numref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_enum_numref_placeholders.html b/tests/test_exercise_references/_enum_numref_placeholders.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_enum_numref_placeholders.html rename to tests/test_exercise_references/_enum_numref_placeholders.sphinx7.html diff --git a/tests/test_exercise_references/_enum_numref_placeholders.sphinx7.xml b/tests/test_exercise_references/_enum_numref_placeholders.sphinx7.xml new file mode 100644 index 0000000..c505c64 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_placeholders.sphinx7.xml @@ -0,0 +1,64 @@ +<document source="_enum_numref_placeholders.rst"> + <section ids="enum-numref-placeholders" names="_enum_numref_placeholders"> + <title> + _enum_numref_placeholders + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test {name} + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text %s test + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text {number} test + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some %s text test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test {name} + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text %s test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text {number} test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some %s text test + . diff --git a/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.html b/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.html new file mode 100644 index 0000000..9bc2e26 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.html @@ -0,0 +1,12 @@ +<p>This reference does not include math <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some 3 text %s test Exercise</span></a>.</p> +<p>This reference does not include math <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some 3 text %s test</span></a>.</p> +<p>This reference does not include math <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some Exercise text %s test</span></a>.</p> +<p>This reference does not include math <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some Exercise text 3 test</span></a>.</p> +<p>This reference does not include math <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some 3 text test</span></a>.</p> +<p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some 1 text %s test Exercise</span></a>.</p> +<p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some 1 text %s test</span></a>.</p> +<p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some Exercise text %s test</span></a>.</p> +<p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some Exercise text 1 test</span></a>.</p> +<p>This reference includes math <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">some 1 text test</span></a>.</p> +<p class="topless"><a href="_unenum_numref_mathtitle.html" title="previous chapter">_unenum_numref_mathtitle</a></p> +<p class="topless"><a href="_enum_duplicate_label.html" title="next chapter">_enum_duplicate_label</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.xml b/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.xml new file mode 100644 index 0000000..c505c64 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.xml @@ -0,0 +1,64 @@ +<document source="_enum_numref_placeholders.rst"> + <section ids="enum-numref-placeholders" names="_enum_numref_placeholders"> + <title> + _enum_numref_placeholders + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test {name} + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text %s test + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text {number} test + . + <paragraph> + This reference does not include math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some %s text test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test {name} + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {number} text %s test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text %s test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some {name} text {number} test + . + <paragraph> + This reference includes math + <pending_xref refdoc="exercise/_enum_numref_placeholders" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some %s text test + . diff --git a/tests/test_exercise_references/_enum_numref_title.html b/tests/test_exercise_references/_enum_numref_title.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_enum_numref_title.html rename to tests/test_exercise_references/_enum_numref_title.sphinx7.html diff --git a/tests/test_exercise_references/_enum_numref_title.sphinx7.xml b/tests/test_exercise_references/_enum_numref_title.sphinx7.xml new file mode 100644 index 0000000..5eaebb8 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_title.sphinx7.xml @@ -0,0 +1,28 @@ +<document source="_enum_numref_title.rst"> + <section ids="enum-numref-title" names="_enum_numref_title"> + <title> + _enum_numref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="False" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + test-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_enum_numref_title.sphinx8.html b/tests/test_exercise_references/_enum_numref_title.sphinx8.html new file mode 100644 index 0000000..e3e637c --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_title.sphinx8.html @@ -0,0 +1,6 @@ +<p>This is a reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">Exercise 3</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some text 3</span></a>.</p> +<p>This is a third reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some text 3</span></a>.</p> +<p>This is a fourth reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">some text Exercise</span></a>.</p> +<p class="topless"><a href="_enum_numref_notitle.html" title="previous chapter">_enum_numref_notitle</a></p> +<p class="topless"><a href="_enum_numref_mathtitle.html" title="next chapter">_enum_numref_mathtitle</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_numref_title.sphinx8.xml b/tests/test_exercise_references/_enum_numref_title.sphinx8.xml new file mode 100644 index 0000000..5eaebb8 --- /dev/null +++ b/tests/test_exercise_references/_enum_numref_title.sphinx8.xml @@ -0,0 +1,28 @@ +<document source="_enum_numref_title.rst"> + <section ids="enum-numref-title" names="_enum_numref_title"> + <title> + _enum_numref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="False" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + test-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_enum_numref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_enum_ref_mathtitle.html b/tests/test_exercise_references/_enum_ref_mathtitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_enum_ref_mathtitle.html rename to tests/test_exercise_references/_enum_ref_mathtitle.sphinx7.html diff --git a/tests/test_exercise_references/_enum_ref_mathtitle.sphinx7.xml b/tests/test_exercise_references/_enum_ref_mathtitle.sphinx7.xml new file mode 100644 index 0000000..b381cb7 --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_mathtitle.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_enum_ref_mathtitle.rst"> + <section ids="enum-ref-mathtitle" names="_enum_ref_mathtitle"> + <title> + _enum_ref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_ref_mathtitle" refdomain="std" refexplicit="False" reftarget="test-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + test-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_ref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.html b/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.html new file mode 100644 index 0000000..e12e85d --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.html @@ -0,0 +1,4 @@ +<p>This is a reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-numref">Exercise 1</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_enum_mathtitle_label.html#test-exc-label-math"><span class="std std-ref">some text</span></a>.</p> +<p class="topless"><a href="_enum_ref_title.html" title="previous chapter">_enum_ref_title</a></p> +<p class="topless"><a href="_enum_numref_notitle.html" title="next chapter">_enum_numref_notitle</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.xml b/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.xml new file mode 100644 index 0000000..b381cb7 --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_enum_ref_mathtitle.rst"> + <section ids="enum-ref-mathtitle" names="_enum_ref_mathtitle"> + <title> + _enum_ref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_ref_mathtitle" refdomain="std" refexplicit="False" reftarget="test-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + test-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_ref_mathtitle" refdomain="std" refexplicit="True" reftarget="test-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_enum_ref_notitle.html b/tests/test_exercise_references/_enum_ref_notitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_enum_ref_notitle.html rename to tests/test_exercise_references/_enum_ref_notitle.sphinx7.html diff --git a/tests/test_exercise_references/_enum_ref_notitle.sphinx7.xml b/tests/test_exercise_references/_enum_ref_notitle.sphinx7.xml new file mode 100644 index 0000000..954a9b3 --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_notitle.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_enum_ref_notitle.rst"> + <section ids="enum-ref-notitle" names="_enum_ref_notitle"> + <title> + _enum_ref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_ref_notitle" refdomain="std" refexplicit="False" reftarget="text-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + text-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_ref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_enum_ref_notitle.sphinx8.html b/tests/test_exercise_references/_enum_ref_notitle.sphinx8.html new file mode 100644 index 0000000..2f1474c --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_notitle.sphinx8.html @@ -0,0 +1,4 @@ +<p>This is a reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-numref">Exercise 2</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_enum_notitle_label.html#text-exc-notitle"><span class="std std-ref">some text</span></a>.</p> +<p class="topless"><a href="_enum_title_nolabel.html" title="previous chapter">_enum_title_nolabel</a></p> +<p class="topless"><a href="_enum_ref_title.html" title="next chapter">_enum_ref_title</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_notitle.sphinx8.xml b/tests/test_exercise_references/_enum_ref_notitle.sphinx8.xml new file mode 100644 index 0000000..954a9b3 --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_notitle.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_enum_ref_notitle.rst"> + <section ids="enum-ref-notitle" names="_enum_ref_notitle"> + <title> + _enum_ref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_ref_notitle" refdomain="std" refexplicit="False" reftarget="text-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + text-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_ref_notitle" refdomain="std" refexplicit="True" reftarget="text-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_enum_ref_title.html b/tests/test_exercise_references/_enum_ref_title.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_enum_ref_title.html rename to tests/test_exercise_references/_enum_ref_title.sphinx7.html diff --git a/tests/test_exercise_references/_enum_ref_title.sphinx7.xml b/tests/test_exercise_references/_enum_ref_title.sphinx7.xml new file mode 100644 index 0000000..24c3e7c --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_title.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_enum_ref_title.rst"> + <section ids="enum-ref-title" names="_enum_ref_title"> + <title> + _enum_ref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_ref_title" refdomain="std" refexplicit="False" reftarget="test-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + test-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_ref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_enum_ref_title.sphinx8.html b/tests/test_exercise_references/_enum_ref_title.sphinx8.html new file mode 100644 index 0000000..53e83f8 --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_title.sphinx8.html @@ -0,0 +1,4 @@ +<p>This is a reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-numref">Exercise 3</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_enum_title_class_label.html#test-exc-label"><span class="std std-ref">some text</span></a>.</p> +<p class="topless"><a href="_enum_ref_notitle.html" title="previous chapter">_enum_ref_notitle</a></p> +<p class="topless"><a href="_enum_ref_mathtitle.html" title="next chapter">_enum_ref_mathtitle</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_enum_ref_title.sphinx8.xml b/tests/test_exercise_references/_enum_ref_title.sphinx8.xml new file mode 100644 index 0000000..24c3e7c --- /dev/null +++ b/tests/test_exercise_references/_enum_ref_title.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_enum_ref_title.rst"> + <section ids="enum-ref-title" names="_enum_ref_title"> + <title> + _enum_ref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_enum_ref_title" refdomain="std" refexplicit="False" reftarget="test-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + test-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_enum_ref_title" refdomain="std" refexplicit="True" reftarget="test-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_unenum_numref_mathtitle.html b/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_unenum_numref_mathtitle.html rename to tests/test_exercise_references/_unenum_numref_mathtitle.sphinx7.html diff --git a/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx7.xml b/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx7.xml new file mode 100644 index 0000000..16dfae2 --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx7.xml @@ -0,0 +1,28 @@ +<document source="_unenum_numref_mathtitle.rst"> + <section ids="unenum-numref-mathtitle" names="_unenum_numref_mathtitle"> + <title> + _unenum_numref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="False" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + unen-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.html b/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.html new file mode 100644 index 0000000..0773678 --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.html @@ -0,0 +1,6 @@ +<p>This is a reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">unen-exc-label-math</span></code>.</p> +<p>This is a second reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">%s</span></code>.</p> +<p>This is a third reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{number}</span></code>.</p> +<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> +<p class="topless"><a href="_unenum_numref_title.html" title="previous chapter">_unenum_numref_title</a></p> +<p class="topless"><a href="_enum_numref_placeholders.html" title="next chapter">_enum_numref_placeholders</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.xml b/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.xml new file mode 100644 index 0000000..16dfae2 --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.xml @@ -0,0 +1,28 @@ +<document source="_unenum_numref_mathtitle.rst"> + <section ids="unenum-numref-mathtitle" names="_unenum_numref_mathtitle"> + <title> + _unenum_numref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="False" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + unen-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_unenum_numref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_unenum_numref_notitle.html b/tests/test_exercise_references/_unenum_numref_notitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_unenum_numref_notitle.html rename to tests/test_exercise_references/_unenum_numref_notitle.sphinx7.html diff --git a/tests/test_exercise_references/_unenum_numref_notitle.sphinx7.xml b/tests/test_exercise_references/_unenum_numref_notitle.sphinx7.xml new file mode 100644 index 0000000..670b53c --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_notitle.sphinx7.xml @@ -0,0 +1,28 @@ +<document source="_unenum_numref_notitle.rst"> + <section ids="unenum-numref-notitle" names="_unenum_numref_notitle"> + <title> + _unenum_numref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="False" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + unen-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.html b/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.html new file mode 100644 index 0000000..a7329f2 --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.html @@ -0,0 +1,6 @@ +<p>This is a reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">unen-exc-notitle</span></code>.</p> +<p>This is a second reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">%s</span></code>.</p> +<p>This is a third reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{number}</span></code>.</p> +<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> +<p class="topless"><a href="_unenum_ref_mathtitle.html" title="previous chapter">_unenum_ref_mathtitle</a></p> +<p class="topless"><a href="_unenum_numref_title.html" title="next chapter">_unenum_numref_title</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.xml b/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.xml new file mode 100644 index 0000000..670b53c --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.xml @@ -0,0 +1,28 @@ +<document source="_unenum_numref_notitle.rst"> + <section ids="unenum-numref-notitle" names="_unenum_numref_notitle"> + <title> + _unenum_numref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="False" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + unen-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_unenum_numref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_unenum_numref_title.html b/tests/test_exercise_references/_unenum_numref_title.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_unenum_numref_title.html rename to tests/test_exercise_references/_unenum_numref_title.sphinx7.html diff --git a/tests/test_exercise_references/_unenum_numref_title.sphinx7.xml b/tests/test_exercise_references/_unenum_numref_title.sphinx7.xml new file mode 100644 index 0000000..30c8a12 --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_title.sphinx7.xml @@ -0,0 +1,28 @@ +<document source="_unenum_numref_title.rst"> + <section ids="unenum-numref-title" names="_unenum_numref_title"> + <title> + _unenum_numref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="False" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + unen-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_unenum_numref_title.sphinx8.html b/tests/test_exercise_references/_unenum_numref_title.sphinx8.html new file mode 100644 index 0000000..25c62f2 --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_title.sphinx8.html @@ -0,0 +1,6 @@ +<p>This is a reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">unen-exc-label</span></code>.</p> +<p>This is a second reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">%s</span></code>.</p> +<p>This is a third reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{number}</span></code>.</p> +<p>This is a fourth reference <code class="xref std std-numref docutils literal notranslate"><span class="pre">some</span> <span class="pre">text</span> <span class="pre">{name}</span></code>.</p> +<p class="topless"><a href="_unenum_numref_notitle.html" title="previous chapter">_unenum_numref_notitle</a></p> +<p class="topless"><a href="_unenum_numref_mathtitle.html" title="next chapter">_unenum_numref_mathtitle</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_numref_title.sphinx8.xml b/tests/test_exercise_references/_unenum_numref_title.sphinx8.xml new file mode 100644 index 0000000..30c8a12 --- /dev/null +++ b/tests/test_exercise_references/_unenum_numref_title.sphinx8.xml @@ -0,0 +1,28 @@ +<document source="_unenum_numref_title.rst"> + <section ids="unenum-numref-title" names="_unenum_numref_title"> + <title> + _unenum_numref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="False" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + unen-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text %s + . + <paragraph> + This is a third reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {number} + . + <paragraph> + This is a fourth reference + <pending_xref refdoc="exercise/_unenum_numref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="numref" refwarn="True"> + <literal classes="xref std std-numref"> + some text {name} + . diff --git a/tests/test_exercise_references/_unenum_ref_mathtitle.html b/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_unenum_ref_mathtitle.html rename to tests/test_exercise_references/_unenum_ref_mathtitle.sphinx7.html diff --git a/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx7.xml b/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx7.xml new file mode 100644 index 0000000..2a982ab --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_unenum_ref_mathtitle.rst"> + <section ids="unenum-ref-mathtitle" names="_unenum_ref_mathtitle"> + <title> + _unenum_ref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_ref_mathtitle" refdomain="std" refexplicit="False" reftarget="unen-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + unen-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_ref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.html b/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.html new file mode 100644 index 0000000..3a9cdc0 --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.html @@ -0,0 +1,4 @@ +<p>This is a reference <a class="reference internal" href="_unenum_mathtitle_label.html#unen-exc-label-math"><span class="std std-ref">Exercise</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_unenum_mathtitle_label.html#unen-exc-label-math"><span class="std std-ref">some text</span></a>.</p> +<p class="topless"><a href="_unenum_ref_title.html" title="previous chapter">_unenum_ref_title</a></p> +<p class="topless"><a href="_unenum_numref_notitle.html" title="next chapter">_unenum_numref_notitle</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.xml b/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.xml new file mode 100644 index 0000000..2a982ab --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_unenum_ref_mathtitle.rst"> + <section ids="unenum-ref-mathtitle" names="_unenum_ref_mathtitle"> + <title> + _unenum_ref_mathtitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_ref_mathtitle" refdomain="std" refexplicit="False" reftarget="unen-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + unen-exc-label-math + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_ref_mathtitle" refdomain="std" refexplicit="True" reftarget="unen-exc-label-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_unenum_ref_notitle.html b/tests/test_exercise_references/_unenum_ref_notitle.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_unenum_ref_notitle.html rename to tests/test_exercise_references/_unenum_ref_notitle.sphinx7.html diff --git a/tests/test_exercise_references/_unenum_ref_notitle.sphinx7.xml b/tests/test_exercise_references/_unenum_ref_notitle.sphinx7.xml new file mode 100644 index 0000000..04ef7e6 --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_notitle.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_unenum_ref_notitle.rst"> + <section ids="unenum-ref-notitle" names="_unenum_ref_notitle"> + <title> + _unenum_ref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_ref_notitle" refdomain="std" refexplicit="False" reftarget="unen-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + unen-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_ref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.html b/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.html new file mode 100644 index 0000000..9678f3d --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.html @@ -0,0 +1,4 @@ +<p>This is a reference <a class="reference internal" href="_unenum_notitle_label.html#unen-exc-notitle"><span class="std std-ref">Exercise</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_unenum_notitle_label.html#unen-exc-notitle"><span class="std std-ref">some text</span></a>.</p> +<p class="topless"><a href="_unenum_title_nolabel.html" title="previous chapter">_unenum_title_nolabel</a></p> +<p class="topless"><a href="_unenum_ref_title.html" title="next chapter">_unenum_ref_title</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.xml b/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.xml new file mode 100644 index 0000000..04ef7e6 --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_unenum_ref_notitle.rst"> + <section ids="unenum-ref-notitle" names="_unenum_ref_notitle"> + <title> + _unenum_ref_notitle + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_ref_notitle" refdomain="std" refexplicit="False" reftarget="unen-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + unen-exc-notitle + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_ref_notitle" refdomain="std" refexplicit="True" reftarget="unen-exc-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_unenum_ref_title.html b/tests/test_exercise_references/_unenum_ref_title.sphinx7.html similarity index 100% rename from tests/test_exercise_references/_unenum_ref_title.html rename to tests/test_exercise_references/_unenum_ref_title.sphinx7.html diff --git a/tests/test_exercise_references/_unenum_ref_title.sphinx7.xml b/tests/test_exercise_references/_unenum_ref_title.sphinx7.xml new file mode 100644 index 0000000..8147e1b --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_title.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_unenum_ref_title.rst"> + <section ids="unenum-ref-title" names="_unenum_ref_title"> + <title> + _unenum_ref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_ref_title" refdomain="std" refexplicit="False" reftarget="unen-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + unen-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_ref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_exercise_references/_unenum_ref_title.sphinx8.html b/tests/test_exercise_references/_unenum_ref_title.sphinx8.html new file mode 100644 index 0000000..f9e2427 --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_title.sphinx8.html @@ -0,0 +1,4 @@ +<p>This is a reference <a class="reference internal" href="_unenum_title_class_label.html#unen-exc-label"><span class="std std-ref">Exercise</span></a>.</p> +<p>This is a second reference <a class="reference internal" href="_unenum_title_class_label.html#unen-exc-label"><span class="std std-ref">some text</span></a>.</p> +<p class="topless"><a href="_unenum_ref_notitle.html" title="previous chapter">_unenum_ref_notitle</a></p> +<p class="topless"><a href="_unenum_ref_mathtitle.html" title="next chapter">_unenum_ref_mathtitle</a></p> \ No newline at end of file diff --git a/tests/test_exercise_references/_unenum_ref_title.sphinx8.xml b/tests/test_exercise_references/_unenum_ref_title.sphinx8.xml new file mode 100644 index 0000000..8147e1b --- /dev/null +++ b/tests/test_exercise_references/_unenum_ref_title.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_unenum_ref_title.rst"> + <section ids="unenum-ref-title" names="_unenum_ref_title"> + <title> + _unenum_ref_title + <paragraph> + This is a reference + <pending_xref refdoc="exercise/_unenum_ref_title" refdomain="std" refexplicit="False" reftarget="unen-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + unen-exc-label + . + <paragraph> + This is a second reference + <pending_xref refdoc="exercise/_unenum_ref_title" refdomain="std" refexplicit="True" reftarget="unen-exc-label" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + some text + . diff --git a/tests/test_solution.py b/tests/test_solution.py index bbda60b..e3e4a6d 100644 --- a/tests/test_solution.py +++ b/tests/test_solution.py @@ -1,5 +1,8 @@ from bs4 import BeautifulSoup import pytest +import sphinx + +SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}" @pytest.mark.sphinx("html", testroot="mybook") @@ -54,4 +57,5 @@ def test_solution_doctree(app, docname, file_regression, get_sphinx_app_doctree) resolve=False, regress=True, flatten_outdir=True, # noqa: E501 flatten files "solution/<file> -> <file>.xml" for convenience + sphinx_version=SPHINX_VERSION, ) diff --git a/tests/test_solution/_linked_duplicate_label.sphinx7.xml b/tests/test_solution/_linked_duplicate_label.sphinx7.xml new file mode 100644 index 0000000..911fa54 --- /dev/null +++ b/tests/test_solution/_linked_duplicate_label.sphinx7.xml @@ -0,0 +1,10 @@ +<document source="_linked_duplicate_label.rst"> + <section ids="linked-duplicate-label" names="_linked_duplicate_label"> + <title> + _linked_duplicate_label + <solution_node classes="solution" docname="solution/_linked_duplicate_label" hidden="False" ids="sol-duplicate-label" label="sol-duplicate-label" names="sol-duplicate-label" serial_number="0" target_label="ex-nonumber-notitle" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_duplicate_label.sphinx8.xml b/tests/test_solution/_linked_duplicate_label.sphinx8.xml new file mode 100644 index 0000000..911fa54 --- /dev/null +++ b/tests/test_solution/_linked_duplicate_label.sphinx8.xml @@ -0,0 +1,10 @@ +<document source="_linked_duplicate_label.rst"> + <section ids="linked-duplicate-label" names="_linked_duplicate_label"> + <title> + _linked_duplicate_label + <solution_node classes="solution" docname="solution/_linked_duplicate_label" hidden="False" ids="sol-duplicate-label" label="sol-duplicate-label" names="sol-duplicate-label" serial_number="0" target_label="ex-nonumber-notitle" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_enum.xml b/tests/test_solution/_linked_enum.sphinx7.xml similarity index 100% rename from tests/test_solution/_linked_enum.xml rename to tests/test_solution/_linked_enum.sphinx7.xml diff --git a/tests/test_solution/_linked_enum.sphinx8.xml b/tests/test_solution/_linked_enum.sphinx8.xml new file mode 100644 index 0000000..06e6f5f --- /dev/null +++ b/tests/test_solution/_linked_enum.sphinx8.xml @@ -0,0 +1,29 @@ +<document source="_linked_enum.rst"> + <section ids="linked-enum" names="_linked_enum"> + <title> + _linked_enum + <exercise_enumerable_node classes="exercise" docname="solution/_linked_enum" hidden="False" ids="ex-number" label="ex-number" names="ex-number" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <exercise_subtitle> + This is a title + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_enum" hidden="False" ids="sol-number" label="sol-number" names="sol-number" serial_number="1" target_label="ex-number" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <math_block docname="solution/_linked_enum" label="True" no-wrap="False" nowrap="False" number="True" xml:space="preserve"> + P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <target refid="equation-ex-math"> + <math_block docname="solution/_linked_enum" ids="equation-ex-math" label="ex-math" no-wrap="False" nowrap="False" number="1" xml:space="preserve"> + P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) diff --git a/tests/test_solution/_linked_enum_class.sphinx7.xml b/tests/test_solution/_linked_enum_class.sphinx7.xml new file mode 100644 index 0000000..daa32c8 --- /dev/null +++ b/tests/test_solution/_linked_enum_class.sphinx7.xml @@ -0,0 +1,10 @@ +<document source="_linked_enum_class.rst"> + <section ids="linked-enum-class" names="_linked_enum_class"> + <title> + _linked_enum_class + <solution_node classes="solution test-solution" docname="solution/_linked_enum_class" hidden="False" ids="solution-label" label="solution-label" names="solution-label" serial_number="0" target_label="ex-number" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_enum_class.sphinx8.xml b/tests/test_solution/_linked_enum_class.sphinx8.xml new file mode 100644 index 0000000..daa32c8 --- /dev/null +++ b/tests/test_solution/_linked_enum_class.sphinx8.xml @@ -0,0 +1,10 @@ +<document source="_linked_enum_class.rst"> + <section ids="linked-enum-class" names="_linked_enum_class"> + <title> + _linked_enum_class + <solution_node classes="solution test-solution" docname="solution/_linked_enum_class" hidden="False" ids="solution-label" label="solution-label" names="solution-label" serial_number="0" target_label="ex-number" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_missing_arg.sphinx7.xml b/tests/test_solution/_linked_missing_arg.sphinx7.xml new file mode 100644 index 0000000..6ecb8d7 --- /dev/null +++ b/tests/test_solution/_linked_missing_arg.sphinx7.xml @@ -0,0 +1,4 @@ +<document source="_linked_missing_arg.rst"> + <section ids="linked-missing-arg" names="_linked_missing_arg"> + <title> + _linked_missing_arg diff --git a/tests/test_solution/_linked_missing_arg.sphinx8.xml b/tests/test_solution/_linked_missing_arg.sphinx8.xml new file mode 100644 index 0000000..6ecb8d7 --- /dev/null +++ b/tests/test_solution/_linked_missing_arg.sphinx8.xml @@ -0,0 +1,4 @@ +<document source="_linked_missing_arg.rst"> + <section ids="linked-missing-arg" names="_linked_missing_arg"> + <title> + _linked_missing_arg diff --git a/tests/test_solution/_linked_unenum_mathtitle.sphinx7.xml b/tests/test_solution/_linked_unenum_mathtitle.sphinx7.xml new file mode 100644 index 0000000..d5c931a --- /dev/null +++ b/tests/test_solution/_linked_unenum_mathtitle.sphinx7.xml @@ -0,0 +1,24 @@ +<document source="_linked_unenum_mathtitle.rst"> + <section ids="linked-unenum-mathtitle" names="_linked_unenum_mathtitle"> + <title> + _linked_unenum_mathtitle + <exercise_node classes="exercise" docname="solution/_linked_unenum_mathtitle" hidden="False" ids="ex-nonumber-title-math" label="ex-nonumber-title-math" names="ex-nonumber-title-math" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <exercise_subtitle> + This is a title + <math> + \mathbb{R} + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_mathtitle" hidden="False" ids="sol-nonumber-title-math" label="sol-nonumber-title-math" names="sol-nonumber-title-math" serial_number="1" target_label="ex-nonumber-title-math" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_unenum_mathtitle.sphinx8.xml b/tests/test_solution/_linked_unenum_mathtitle.sphinx8.xml new file mode 100644 index 0000000..d5c931a --- /dev/null +++ b/tests/test_solution/_linked_unenum_mathtitle.sphinx8.xml @@ -0,0 +1,24 @@ +<document source="_linked_unenum_mathtitle.rst"> + <section ids="linked-unenum-mathtitle" names="_linked_unenum_mathtitle"> + <title> + _linked_unenum_mathtitle + <exercise_node classes="exercise" docname="solution/_linked_unenum_mathtitle" hidden="False" ids="ex-nonumber-title-math" label="ex-nonumber-title-math" names="ex-nonumber-title-math" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <exercise_subtitle> + This is a title + <math> + \mathbb{R} + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_mathtitle" hidden="False" ids="sol-nonumber-title-math" label="sol-nonumber-title-math" names="sol-nonumber-title-math" serial_number="1" target_label="ex-nonumber-title-math" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_unenum_mathtitle2.sphinx7.xml b/tests/test_solution/_linked_unenum_mathtitle2.sphinx7.xml new file mode 100644 index 0000000..a369002 --- /dev/null +++ b/tests/test_solution/_linked_unenum_mathtitle2.sphinx7.xml @@ -0,0 +1,24 @@ +<document source="_linked_unenum_mathtitle2.rst"> + <section ids="linked-unenum-mathtitle2" names="_linked_unenum_mathtitle2"> + <title> + _linked_unenum_mathtitle2 + <exercise_node classes="exercise" docname="solution/_linked_unenum_mathtitle2" hidden="False" ids="ex-nonumber-title-math2" label="ex-nonumber-title-math2" names="ex-nonumber-title-math2" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <exercise_subtitle> + This is a title + <math> + P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_mathtitle2" hidden="False" ids="sol-nonumber-title-math2" label="sol-nonumber-title-math2" names="sol-nonumber-title-math2" serial_number="1" target_label="ex-nonumber-title-math2" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_unenum_mathtitle2.sphinx8.xml b/tests/test_solution/_linked_unenum_mathtitle2.sphinx8.xml new file mode 100644 index 0000000..a369002 --- /dev/null +++ b/tests/test_solution/_linked_unenum_mathtitle2.sphinx8.xml @@ -0,0 +1,24 @@ +<document source="_linked_unenum_mathtitle2.rst"> + <section ids="linked-unenum-mathtitle2" names="_linked_unenum_mathtitle2"> + <title> + _linked_unenum_mathtitle2 + <exercise_node classes="exercise" docname="solution/_linked_unenum_mathtitle2" hidden="False" ids="ex-nonumber-title-math2" label="ex-nonumber-title-math2" names="ex-nonumber-title-math2" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <exercise_subtitle> + This is a title + <math> + P_t(x, y) = \mathbb 1\{x = y\} + t Q(x, y) + o(t) + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_mathtitle2" hidden="False" ids="sol-nonumber-title-math2" label="sol-nonumber-title-math2" names="sol-nonumber-title-math2" serial_number="1" target_label="ex-nonumber-title-math2" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_unenum_notitle.sphinx7.xml b/tests/test_solution/_linked_unenum_notitle.sphinx7.xml new file mode 100644 index 0000000..8140aec --- /dev/null +++ b/tests/test_solution/_linked_unenum_notitle.sphinx7.xml @@ -0,0 +1,20 @@ +<document source="_linked_unenum_notitle.rst"> + <section ids="linked-unenum-notitle" names="_linked_unenum_notitle"> + <title> + _linked_unenum_notitle + <exercise_node classes="exercise" docname="solution/_linked_unenum_notitle" hidden="False" ids="ex-nonumber-notitle" label="ex-nonumber-notitle" names="ex-nonumber-notitle" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_notitle" hidden="False" ids="sol-nonumber-notitle" label="sol-nonumber-notitle" names="sol-nonumber-notitle" serial_number="1" target_label="ex-nonumber-notitle" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_unenum_notitle.sphinx8.xml b/tests/test_solution/_linked_unenum_notitle.sphinx8.xml new file mode 100644 index 0000000..8140aec --- /dev/null +++ b/tests/test_solution/_linked_unenum_notitle.sphinx8.xml @@ -0,0 +1,20 @@ +<document source="_linked_unenum_notitle.rst"> + <section ids="linked-unenum-notitle" names="_linked_unenum_notitle"> + <title> + _linked_unenum_notitle + <exercise_node classes="exercise" docname="solution/_linked_unenum_notitle" hidden="False" ids="ex-nonumber-notitle" label="ex-nonumber-notitle" names="ex-nonumber-notitle" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_notitle" hidden="False" ids="sol-nonumber-notitle" label="sol-nonumber-notitle" names="sol-nonumber-notitle" serial_number="1" target_label="ex-nonumber-notitle" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_unenum_title.sphinx7.xml b/tests/test_solution/_linked_unenum_title.sphinx7.xml new file mode 100644 index 0000000..da1dc3f --- /dev/null +++ b/tests/test_solution/_linked_unenum_title.sphinx7.xml @@ -0,0 +1,22 @@ +<document source="_linked_unenum_title.rst"> + <section ids="linked-unenum-title" names="_linked_unenum_title"> + <title> + _linked_unenum_title + <exercise_node classes="exercise" docname="solution/_linked_unenum_title" hidden="False" ids="ex-nonumber-title" label="ex-nonumber-title" names="ex-nonumber-title" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <exercise_subtitle> + This is a title + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_title" hidden="False" ids="sol-nonumber-title" label="sol-nonumber-title" names="sol-nonumber-title" serial_number="1" target_label="ex-nonumber-title" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_unenum_title.sphinx8.xml b/tests/test_solution/_linked_unenum_title.sphinx8.xml new file mode 100644 index 0000000..da1dc3f --- /dev/null +++ b/tests/test_solution/_linked_unenum_title.sphinx8.xml @@ -0,0 +1,22 @@ +<document source="_linked_unenum_title.rst"> + <section ids="linked-unenum-title" names="_linked_unenum_title"> + <title> + _linked_unenum_title + <exercise_node classes="exercise" docname="solution/_linked_unenum_title" hidden="False" ids="ex-nonumber-title" label="ex-nonumber-title" names="ex-nonumber-title" serial_number="0" title="Exercise" type="exercise"> + <exercise_title> + Exercise + <exercise_subtitle> + This is a title + <section ids="exercise-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + <paragraph> + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + <paragraph> + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + <solution_node classes="solution" docname="solution/_linked_unenum_title" hidden="False" ids="sol-nonumber-title" label="sol-nonumber-title" names="sol-nonumber-title" serial_number="1" target_label="ex-nonumber-title" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_wrong_targetlabel.sphinx7.xml b/tests/test_solution/_linked_wrong_targetlabel.sphinx7.xml new file mode 100644 index 0000000..b03b9ac --- /dev/null +++ b/tests/test_solution/_linked_wrong_targetlabel.sphinx7.xml @@ -0,0 +1,10 @@ +<document source="_linked_wrong_targetlabel.rst"> + <section ids="linked-wrong-targetlabel" names="_linked_wrong_targetlabel"> + <title> + _linked_wrong_targetlabel + <solution_node classes="solution" docname="solution/_linked_wrong_targetlabel" hidden="False" ids="solution/_linked_wrong_targetlabel-solution-0" label="solution/_linked_wrong_targetlabel-solution-0" names="solution/_linked_wrong_targetlabel-solution-0" serial_number="0" target_label="wrong-ex-label" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution/_linked_wrong_targetlabel.sphinx8.xml b/tests/test_solution/_linked_wrong_targetlabel.sphinx8.xml new file mode 100644 index 0000000..b03b9ac --- /dev/null +++ b/tests/test_solution/_linked_wrong_targetlabel.sphinx8.xml @@ -0,0 +1,10 @@ +<document source="_linked_wrong_targetlabel.rst"> + <section ids="linked-wrong-targetlabel" names="_linked_wrong_targetlabel"> + <title> + _linked_wrong_targetlabel + <solution_node classes="solution" docname="solution/_linked_wrong_targetlabel" hidden="False" ids="solution/_linked_wrong_targetlabel-solution-0" label="solution/_linked_wrong_targetlabel-solution-0" names="solution/_linked_wrong_targetlabel-solution-0" serial_number="0" target_label="wrong-ex-label" title="Solution to" type="solution"> + <solution_title> + Solution to + <section ids="solution-content"> + <paragraph> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. diff --git a/tests/test_solution_references.py b/tests/test_solution_references.py index 1aa82ca..429d166 100644 --- a/tests/test_solution_references.py +++ b/tests/test_solution_references.py @@ -1,5 +1,8 @@ from bs4 import BeautifulSoup import pytest +import sphinx + +SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}" @pytest.mark.sphinx("html", testroot="mybook") @@ -29,7 +32,7 @@ def test_reference(app, idir, file_regression): excs += f"{ref}\n" file_regression.check( - str(excs[:-1]), basename=idir.split(".")[0], extension=".html" + str(excs[:-1]), basename=idir.split(".")[0], extension=f"{SPHINX_VERSION}.html" ) @@ -54,4 +57,5 @@ def test_solution_doctree(app, docname, file_regression, get_sphinx_app_doctree) resolve=False, regress=True, flatten_outdir=True, # noqa: E501 flatten files "solution/<file> -> <file>.xml" for convenience + sphinx_version=SPHINX_VERSION, ) diff --git a/tests/test_solution_references/_linked_ref_enum.html b/tests/test_solution_references/_linked_ref_enum.sphinx7.html similarity index 100% rename from tests/test_solution_references/_linked_ref_enum.html rename to tests/test_solution_references/_linked_ref_enum.sphinx7.html diff --git a/tests/test_solution_references/_linked_ref_enum.sphinx7.xml b/tests/test_solution_references/_linked_ref_enum.sphinx7.xml new file mode 100644 index 0000000..a3bf5c6 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_enum.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_enum.rst"> + <section ids="linked-ref-enum" names="_linked_ref_enum"> + <title> + _linked_ref_enum + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_enum" refdomain="std" refexplicit="False" reftarget="sol-number" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-number + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_enum" refdomain="std" refexplicit="True" reftarget="sol-number" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + simple solution with number + . diff --git a/tests/test_solution_references/_linked_ref_enum.sphinx8.html b/tests/test_solution_references/_linked_ref_enum.sphinx8.html new file mode 100644 index 0000000..c8d1365 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_enum.sphinx8.html @@ -0,0 +1,4 @@ +<p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">Solution to</span></a>.</p> +<p>referencing: <a class="reference internal" href="_linked_enum.html#sol-number"><span class="std std-ref">simple solution with number</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle2.html" title="previous chapter">_linked_ref_unenum_mathtitle2</a></p> +<p class="topless"><a href="_linked_ref_wronglabel.html" title="next chapter">_linked_ref_wronglabel</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_enum.sphinx8.xml b/tests/test_solution_references/_linked_ref_enum.sphinx8.xml new file mode 100644 index 0000000..a3bf5c6 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_enum.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_enum.rst"> + <section ids="linked-ref-enum" names="_linked_ref_enum"> + <title> + _linked_ref_enum + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_enum" refdomain="std" refexplicit="False" reftarget="sol-number" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-number + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_enum" refdomain="std" refexplicit="True" reftarget="sol-number" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + simple solution with number + . diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx7.html similarity index 100% rename from tests/test_solution_references/_linked_ref_unenum_mathtitle.html rename to tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx7.html diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx7.xml b/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx7.xml new file mode 100644 index 0000000..9cafd2a --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_mathtitle.rst"> + <section ids="linked-ref-unenum-mathtitle" names="_linked_ref_unenum_mathtitle"> + <title> + _linked_ref_unenum_mathtitle + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle" refdomain="std" refexplicit="False" reftarget="sol-nonumber-title-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-title-math + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle" refdomain="std" refexplicit="True" reftarget="sol-nonumber-title-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + exercise with nonumber but with inline math title + . diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.html new file mode 100644 index 0000000..fb0f469 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.html @@ -0,0 +1,4 @@ +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">Solution to</span></a>.</p> +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle.html#sol-nonumber-title-math"><span class="std std-ref">exercise with nonumber but with inline math title</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_title.html" title="previous chapter">_linked_ref_unenum_title</a></p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle2.html" title="next chapter">_linked_ref_unenum_mathtitle2</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.xml b/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.xml new file mode 100644 index 0000000..9cafd2a --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_mathtitle.rst"> + <section ids="linked-ref-unenum-mathtitle" names="_linked_ref_unenum_mathtitle"> + <title> + _linked_ref_unenum_mathtitle + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle" refdomain="std" refexplicit="False" reftarget="sol-nonumber-title-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-title-math + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle" refdomain="std" refexplicit="True" reftarget="sol-nonumber-title-math" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + exercise with nonumber but with inline math title + . diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx7.html similarity index 100% rename from tests/test_solution_references/_linked_ref_unenum_mathtitle2.html rename to tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx7.html diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx7.xml b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx7.xml new file mode 100644 index 0000000..6b2527e --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_mathtitle2.rst"> + <section ids="linked-ref-unenum-mathtitle2" names="_linked_ref_unenum_mathtitle2"> + <title> + _linked_ref_unenum_mathtitle2 + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle2" refdomain="std" refexplicit="False" reftarget="sol-nonumber-title-math2" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-title-math2 + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle2" refdomain="std" refexplicit="True" reftarget="sol-nonumber-title-math2" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + exercise with nonumber but with inline math title ex2 + . diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.html b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.html new file mode 100644 index 0000000..d141d88 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.html @@ -0,0 +1,4 @@ +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">Solution to</span></a>.</p> +<p>referencing: <a class="reference internal" href="_linked_unenum_mathtitle2.html#sol-nonumber-title-math2"><span class="std std-ref">exercise with nonumber but with inline math title ex2</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle.html" title="previous chapter">_linked_ref_unenum_mathtitle</a></p> +<p class="topless"><a href="_linked_ref_enum.html" title="next chapter">_linked_ref_enum</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.xml b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.xml new file mode 100644 index 0000000..6b2527e --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_mathtitle2.rst"> + <section ids="linked-ref-unenum-mathtitle2" names="_linked_ref_unenum_mathtitle2"> + <title> + _linked_ref_unenum_mathtitle2 + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle2" refdomain="std" refexplicit="False" reftarget="sol-nonumber-title-math2" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-title-math2 + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_mathtitle2" refdomain="std" refexplicit="True" reftarget="sol-nonumber-title-math2" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + exercise with nonumber but with inline math title ex2 + . diff --git a/tests/test_solution_references/_linked_ref_unenum_notitle.html b/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx7.html similarity index 100% rename from tests/test_solution_references/_linked_ref_unenum_notitle.html rename to tests/test_solution_references/_linked_ref_unenum_notitle.sphinx7.html diff --git a/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx7.xml b/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx7.xml new file mode 100644 index 0000000..2f0f6a3 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_notitle.rst"> + <section ids="linked-ref-unenum-notitle" names="_linked_ref_unenum_notitle"> + <title> + _linked_ref_unenum_notitle + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_notitle" refdomain="std" refexplicit="False" reftarget="sol-nonumber-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-notitle + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_notitle" refdomain="std" refexplicit="True" reftarget="sol-nonumber-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + ex with nonumber and notitle + . diff --git a/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.html b/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.html new file mode 100644 index 0000000..1911f9e --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.html @@ -0,0 +1,4 @@ +<p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">Solution to</span></a>.</p> +<p>referencing: <a class="reference internal" href="_linked_unenum_notitle.html#sol-nonumber-notitle"><span class="std std-ref">ex with nonumber and notitle</span></a>.</p> +<p class="topless"><a href="_linked_wrong_targetlabel.html" title="previous chapter">_linked_wrong_targetlabel</a></p> +<p class="topless"><a href="_linked_ref_unenum_title.html" title="next chapter">_linked_ref_unenum_title</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.xml b/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.xml new file mode 100644 index 0000000..2f0f6a3 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_notitle.rst"> + <section ids="linked-ref-unenum-notitle" names="_linked_ref_unenum_notitle"> + <title> + _linked_ref_unenum_notitle + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_notitle" refdomain="std" refexplicit="False" reftarget="sol-nonumber-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-notitle + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_notitle" refdomain="std" refexplicit="True" reftarget="sol-nonumber-notitle" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + ex with nonumber and notitle + . diff --git a/tests/test_solution_references/_linked_ref_unenum_title.html b/tests/test_solution_references/_linked_ref_unenum_title.sphinx7.html similarity index 100% rename from tests/test_solution_references/_linked_ref_unenum_title.html rename to tests/test_solution_references/_linked_ref_unenum_title.sphinx7.html diff --git a/tests/test_solution_references/_linked_ref_unenum_title.sphinx7.xml b/tests/test_solution_references/_linked_ref_unenum_title.sphinx7.xml new file mode 100644 index 0000000..cc67147 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_title.sphinx7.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_title.rst"> + <section ids="linked-ref-unenum-title" names="_linked_ref_unenum_title"> + <title> + _linked_ref_unenum_title + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_title" refdomain="std" refexplicit="False" reftarget="sol-nonumber-title" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-title + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_title" refdomain="std" refexplicit="True" reftarget="sol-nonumber-title" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + exercise with nonumber but with title + . diff --git a/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.html b/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.html new file mode 100644 index 0000000..ab4d3d4 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.html @@ -0,0 +1,4 @@ +<p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">Solution to</span></a>.</p> +<p>referencing: <a class="reference internal" href="_linked_unenum_title.html#sol-nonumber-title"><span class="std std-ref">exercise with nonumber but with title</span></a>.</p> +<p class="topless"><a href="_linked_ref_unenum_notitle.html" title="previous chapter">_linked_ref_unenum_notitle</a></p> +<p class="topless"><a href="_linked_ref_unenum_mathtitle.html" title="next chapter">_linked_ref_unenum_mathtitle</a></p> \ No newline at end of file diff --git a/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.xml b/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.xml new file mode 100644 index 0000000..cc67147 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.xml @@ -0,0 +1,16 @@ +<document source="_linked_ref_unenum_title.rst"> + <section ids="linked-ref-unenum-title" names="_linked_ref_unenum_title"> + <title> + _linked_ref_unenum_title + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_title" refdomain="std" refexplicit="False" reftarget="sol-nonumber-title" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + sol-nonumber-title + . + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_unenum_title" refdomain="std" refexplicit="True" reftarget="sol-nonumber-title" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + exercise with nonumber but with title + . diff --git a/tests/test_solution_references/_linked_ref_wronglabel.sphinx7.xml b/tests/test_solution_references/_linked_ref_wronglabel.sphinx7.xml new file mode 100644 index 0000000..4f54b84 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_wronglabel.sphinx7.xml @@ -0,0 +1,10 @@ +<document source="_linked_ref_wronglabel.rst"> + <section ids="linked-ref-wronglabel" names="_linked_ref_wronglabel"> + <title> + _linked_ref_wronglabel + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_wronglabel" refdomain="std" refexplicit="False" reftarget="foobar" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + foobar + . diff --git a/tests/test_solution_references/_linked_ref_wronglabel.sphinx8.xml b/tests/test_solution_references/_linked_ref_wronglabel.sphinx8.xml new file mode 100644 index 0000000..4f54b84 --- /dev/null +++ b/tests/test_solution_references/_linked_ref_wronglabel.sphinx8.xml @@ -0,0 +1,10 @@ +<document source="_linked_ref_wronglabel.rst"> + <section ids="linked-ref-wronglabel" names="_linked_ref_wronglabel"> + <title> + _linked_ref_wronglabel + <paragraph> + referencing: + <pending_xref refdoc="solution/_linked_ref_wronglabel" refdomain="std" refexplicit="False" reftarget="foobar" reftype="ref" refwarn="True"> + <inline classes="xref std std-ref"> + foobar + . From 35a29b4be49be5d473a94aedb3b90a70791d06f9 Mon Sep 17 00:00:00 2001 From: mmcky <mamckay@gmail.com> Date: Tue, 21 Oct 2025 13:56:18 +1100 Subject: [PATCH 5/5] Update CHANGELOG for v1.1.0 release --- CHANGELOG.md | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b338db..1838e0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,27 +1,39 @@ # Changelog -## [v1.1.0](https://github.com/executablebooks/sphinx-exercise/tree/v1.1.0) (TBD) - -### New ✨ - -- Added internationalization (i18n) support with 27 languages - - Arabic, Bengali, Chinese (Simplified), Czech, Dutch, French, German, Greek, Hindi - - Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Norwegian, Polish - - Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, Turkish, Ukrainian, Vietnamese -- Translations available for Exercise and Solution directive labels +## [v1.1.0](https://github.com/executablebooks/sphinx-exercise/tree/v1.1.0) (2025-10-21) ### Improved 👌 - Modernized Python support: Now requires Python 3.11+ (dropped 3.9, 3.10) - Modernized Sphinx support: Now requires Sphinx 6+ (dropped Sphinx 4, 5) -- Updated test suite to test against Sphinx 7 and 8 -- Removed outdated test fixtures for Sphinx 4 and 5 +- Updated test suite with version-specific fixtures for Sphinx 7 and 8 +- Fixed Sphinx 9 deprecation warnings for better forward compatibility ### Breaking Changes ⚠️ - **Dropped Python 3.9 and 3.10 support** - Minimum Python version is now 3.11 - **Dropped Sphinx <6 support** - Minimum Sphinx version is now 6.0 +## [v1.0.1](https://github.com/executablebooks/sphinx-exercise/tree/v1.0.1) (2024-11-19) + +### Fixed 🐛 + +- Fixed JupyterBuilder handling issue +- Updated testing infrastructure and software versions + +## [v1.0.0](https://github.com/executablebooks/sphinx-exercise/tree/v1.0.0) (2024-05-03) + +### Improved 👌 + +- Updated build and CI for Sphinx 7 support +- Pinned matplotlib to 3.7.* for testing +- Updated to codecov 3 +- Modernized CI infrastructure + +### Breaking Changes ⚠️ + +- **Updated minimum Sphinx version to 5.0** - Dropped support for Sphinx 4 + ## [v0.4.1](https://github.com/executablebooks/sphinx-exercise/tree/v0.4.1) (2023-1-23) ### Improved 👌