Skip to content

Commit 18c62a1

Browse files
committed
tests: Add templates rendenring tests using inline-snapshot
Issue-150: #150
1 parent 18283b0 commit 18c62a1

File tree

93 files changed

+14120
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+14120
-3
lines changed

duties.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -217,20 +217,26 @@ def coverage(ctx: Context) -> None:
217217

218218

219219
@duty
220-
def test(ctx: Context, *cli_args: str, match: str = "") -> None:
220+
def test(ctx: Context, *cli_args: str, match: str = "", snapshot: str = "report") -> None:
221221
"""Run the test suite.
222222
223223
Parameters:
224224
match: A pytest expression to filter selected tests.
225+
snapshot: Whether to "create", "fix", "trim", or "update" snapshots.
225226
"""
226227
py_version = f"{sys.version_info.major}{sys.version_info.minor}"
227228
os.environ["COVERAGE_FILE"] = f".coverage.{py_version}"
229+
args = list(cli_args)
230+
if snapshot == "disable" or not snapshot:
231+
args = ["-n", "auto", "--inline-snapshot=disable"]
232+
else:
233+
args = [f"--inline-snapshot={snapshot}"]
228234
ctx.run(
229235
tools.pytest(
230236
"tests",
231237
config_file="config/pytest.ini",
232238
select=match,
233239
color="yes",
234-
).add_args("-n", "auto", *cli_args),
240+
).add_args(*args),
235241
title=pyprefix("Running tests"),
236242
)

pyproject.toml

+6-1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ dev-dependencies = [
8787
"pytest-cov>=5.0",
8888
"pytest-randomly>=3.15",
8989
"pytest-xdist>=3.6",
90+
"beautifulsoup4>=4.12",
91+
"inline-snapshot>=0.17",
9092
"mypy>=1.10",
9193
"types-markdown>=3.6",
9294
"types-pyyaml>=6.0",
@@ -104,4 +106,7 @@ dev-dependencies = [
104106
"mkdocs-minify-plugin>=0.8",
105107
# YORE: EOL 3.10: Remove line.
106108
"tomli>=2.0; python_version < '3.11'",
107-
]
109+
]
110+
111+
[tool.inline-snapshot]
112+
storage-dir = "tests/snapshots"

tests/snapshots/__init__.py

+224
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
"""Snaphots for the inline-snapshot pytest plugin."""
2+
3+
from inline_snapshot import external, snapshot
4+
5+
snapshots_signatures = snapshot(
6+
{
7+
(("separate_signature", False), ("show_signature_annotations", True), ("signature_crossrefs", False)): external(
8+
"ce6f9af785a3*.html",
9+
),
10+
(("separate_signature", True), ("show_signature_annotations", True), ("signature_crossrefs", False)): external(
11+
"4b44c8524385*.html",
12+
),
13+
(
14+
("separate_signature", False),
15+
("show_signature_annotations", False),
16+
("signature_crossrefs", False),
17+
): external("404ebda5daa1*.html"),
18+
(("separate_signature", False), ("show_signature_annotations", False), ("signature_crossrefs", True)): external(
19+
"f0be8c48bdb1*.html",
20+
),
21+
(("separate_signature", False), ("show_signature_annotations", True), ("signature_crossrefs", True)): external(
22+
"77ef7df64794*.html",
23+
),
24+
(("separate_signature", True), ("show_signature_annotations", False), ("signature_crossrefs", True)): external(
25+
"ea97f7d3bbb8*.html",
26+
),
27+
(("separate_signature", True), ("show_signature_annotations", False), ("signature_crossrefs", False)): external(
28+
"60692fbc929d*.html",
29+
),
30+
(("separate_signature", True), ("show_signature_annotations", True), ("signature_crossrefs", True)): external(
31+
"5a81bf8d075a*.html",
32+
),
33+
},
34+
)
35+
snapshots_members = snapshot(
36+
{
37+
(("filters", ("module_attribute",)), ("inherited_members", True), ("members", True)): external(
38+
"b47fe5c72b71*.html",
39+
),
40+
(("filters", ()), ("inherited_members", ()), ("members", False)): external("510920fc9f8a*.html"),
41+
(
42+
("filters", ("!module_attribute",)),
43+
("inherited_members", True),
44+
("members", ("module_attribute",)),
45+
): external("80796d270928*.html"),
46+
(("filters", None), ("inherited_members", ("method1",)), ("members", ("module_attribute",))): external(
47+
"2bb9dcc2e619*.html",
48+
),
49+
(("filters", ()), ("inherited_members", True), ("members", True)): external("eff41840b867*.html"),
50+
(("filters", None), ("inherited_members", False), ("members", False)): external("034b4efd3e13*.html"),
51+
(("filters", ()), ("inherited_members", ()), ("members", True)): external("49e01ef023a5*.html"),
52+
(("filters", ("!module_attribute",)), ("inherited_members", ()), ("members", True)): external(
53+
"0b78bd712192*.html",
54+
),
55+
(("filters", ("module_attribute",)), ("inherited_members", ()), ("members", False)): external(
56+
"61d7cd63d924*.html",
57+
),
58+
(("filters", ("!module_attribute",)), ("inherited_members", ()), ("members", None)): external(
59+
"0917f5f8089a*.html",
60+
),
61+
(("filters", None), ("inherited_members", True), ("members", ("module_attribute",))): external(
62+
"3eae6454c5cd*.html",
63+
),
64+
(("filters", ("!module_attribute",)), ("inherited_members", ()), ("members", ())): external(
65+
"bc9991f6f692*.html",
66+
),
67+
(("filters", ("module_attribute",)), ("inherited_members", False), ("members", None)): external(
68+
"9931367ff76d*.html",
69+
),
70+
(("filters", None), ("inherited_members", False), ("members", ())): external("158c9a6f19ce*.html"),
71+
(("filters", ("module_attribute",)), ("inherited_members", ("method1",)), ("members", True)): external(
72+
"cb9f37ea6df7*.html",
73+
),
74+
(("filters", ("!module_attribute",)), ("inherited_members", ()), ("members", False)): external(
75+
"5dd25fa89bcf*.html",
76+
),
77+
(("filters", None), ("inherited_members", True), ("members", ())): external("cc7645e3f794*.html"),
78+
(("filters", None), ("inherited_members", ()), ("members", None)): external("98164d145261*.html"),
79+
(("filters", ("module_attribute",)), ("inherited_members", ()), ("members", None)): external(
80+
"423e03090516*.html",
81+
),
82+
(("filters", ("module_attribute",)), ("inherited_members", False), ("members", True)): external(
83+
"955f3255e376*.html",
84+
),
85+
(("filters", ("module_attribute",)), ("inherited_members", ("method1",)), ("members", None)): external(
86+
"89b2703bc063*.html",
87+
),
88+
(("filters", ("!module_attribute",)), ("inherited_members", False), ("members", False)): external(
89+
"91bff55e26ac*.html",
90+
),
91+
(
92+
("filters", ("!module_attribute",)),
93+
("inherited_members", False),
94+
("members", ("module_attribute",)),
95+
): external("f6889768add4*.html"),
96+
(("filters", ()), ("inherited_members", ()), ("members", ("module_attribute",))): external(
97+
"ca6eeb7fde7c*.html",
98+
),
99+
(("filters", ()), ("inherited_members", ("method1",)), ("members", None)): external("c4287b327f2f*.html"),
100+
(("filters", ("!module_attribute",)), ("inherited_members", ("method1",)), ("members", None)): external(
101+
"9ac92fafd7c5*.html",
102+
),
103+
(("filters", None), ("inherited_members", ("method1",)), ("members", None)): external("8054d8ab1742*.html"),
104+
(("filters", ("module_attribute",)), ("inherited_members", ()), ("members", ())): external(
105+
"4c974305bdd0*.html",
106+
),
107+
(("filters", ()), ("inherited_members", True), ("members", None)): external("04cf3d5c7895*.html"),
108+
(("filters", None), ("inherited_members", ("method1",)), ("members", False)): external("4742b8716333*.html"),
109+
(("filters", None), ("inherited_members", ()), ("members", ())): external("966774acc7af*.html"),
110+
(("filters", ("module_attribute",)), ("inherited_members", ("method1",)), ("members", ())): external(
111+
"b2438d1195bd*.html",
112+
),
113+
(("filters", None), ("inherited_members", True), ("members", None)): external("c772a3a790f9*.html"),
114+
(("filters", ()), ("inherited_members", True), ("members", ("module_attribute",))): external(
115+
"5f72a3efb2a0*.html",
116+
),
117+
(("filters", ("!module_attribute",)), ("inherited_members", True), ("members", ())): external(
118+
"54b775cb4537*.html",
119+
),
120+
(("filters", None), ("inherited_members", ("method1",)), ("members", True)): external("c2d169fd563f*.html"),
121+
(("filters", ("module_attribute",)), ("inherited_members", ()), ("members", True)): external(
122+
"6adfcb72f936*.html",
123+
),
124+
(("filters", ()), ("inherited_members", ("method1",)), ("members", False)): external("8b3cb3a9393b*.html"),
125+
(("filters", ("module_attribute",)), ("inherited_members", False), ("members", False)): external(
126+
"526cde6c077e*.html",
127+
),
128+
(("filters", ("!module_attribute",)), ("inherited_members", ("method1",)), ("members", ())): external(
129+
"e9bfa116c60f*.html",
130+
),
131+
(
132+
("filters", ("module_attribute",)),
133+
("inherited_members", ("method1",)),
134+
("members", ("module_attribute",)),
135+
): external("a1a44b6963ee*.html"),
136+
(("filters", None), ("inherited_members", False), ("members", None)): external("f1da2be691e0*.html"),
137+
(("filters", ()), ("inherited_members", ("method1",)), ("members", ("module_attribute",))): external(
138+
"dd2fe557b7a7*.html",
139+
),
140+
(("filters", None), ("inherited_members", ()), ("members", True)): external("b081434f8084*.html"),
141+
(("filters", ("!module_attribute",)), ("inherited_members", ("method1",)), ("members", True)): external(
142+
"bc1041795f2d*.html",
143+
),
144+
(("filters", ("module_attribute",)), ("inherited_members", True), ("members", ("module_attribute",))): external(
145+
"f381581054e5*.html",
146+
),
147+
(("filters", ("module_attribute",)), ("inherited_members", True), ("members", None)): external(
148+
"ead01120c355*.html",
149+
),
150+
(("filters", ()), ("inherited_members", False), ("members", ())): external("b6a3e548f8a7*.html"),
151+
(("filters", ("!module_attribute",)), ("inherited_members", False), ("members", True)): external(
152+
"376dfb4b9fc9*.html",
153+
),
154+
(
155+
("filters", ("module_attribute",)),
156+
("inherited_members", False),
157+
("members", ("module_attribute",)),
158+
): external("d74b55f548b0*.html"),
159+
(("filters", ()), ("inherited_members", True), ("members", False)): external("602be277ba8b*.html"),
160+
(("filters", ("module_attribute",)), ("inherited_members", ()), ("members", ("module_attribute",))): external(
161+
"69430148d9bd*.html",
162+
),
163+
(("filters", None), ("inherited_members", True), ("members", False)): external("2a58672fcba8*.html"),
164+
(("filters", ()), ("inherited_members", False), ("members", False)): external("526f9769a8d8*.html"),
165+
(("filters", None), ("inherited_members", ()), ("members", ("module_attribute",))): external(
166+
"fea4b8369aea*.html",
167+
),
168+
(("filters", ()), ("inherited_members", ()), ("members", None)): external("8561527abb31*.html"),
169+
(("filters", ("module_attribute",)), ("inherited_members", True), ("members", ())): external(
170+
"894037f2c998*.html",
171+
),
172+
(("filters", ("!module_attribute",)), ("inherited_members", True), ("members", True)): external(
173+
"40db9513bd7d*.html",
174+
),
175+
(("filters", ("module_attribute",)), ("inherited_members", False), ("members", ())): external(
176+
"495b3a54efd8*.html",
177+
),
178+
(("filters", None), ("inherited_members", False), ("members", True)): external("0fca514fd462*.html"),
179+
(("filters", None), ("inherited_members", True), ("members", True)): external("83da7d2d8821*.html"),
180+
(("filters", ()), ("inherited_members", False), ("members", ("module_attribute",))): external(
181+
"8b6a7773eeda*.html",
182+
),
183+
(("filters", ("!module_attribute",)), ("inherited_members", ()), ("members", ("module_attribute",))): external(
184+
"120c39cfb973*.html",
185+
),
186+
(("filters", ()), ("inherited_members", False), ("members", True)): external("7e57f525a5cf*.html"),
187+
(("filters", ("module_attribute",)), ("inherited_members", ("method1",)), ("members", False)): external(
188+
"dda6dce2c75e*.html",
189+
),
190+
(("filters", ()), ("inherited_members", ("method1",)), ("members", True)): external("e4835b75b42e*.html"),
191+
(("filters", ()), ("inherited_members", True), ("members", ())): external("8fcb2a1de876*.html"),
192+
(("filters", ()), ("inherited_members", ("method1",)), ("members", ())): external("064454f2c4bd*.html"),
193+
(("filters", ()), ("inherited_members", ()), ("members", ())): external("1a62cc2a6348*.html"),
194+
(("filters", ("!module_attribute",)), ("inherited_members", True), ("members", None)): external(
195+
"103c4e100ff0*.html",
196+
),
197+
(
198+
("filters", ("!module_attribute",)),
199+
("inherited_members", ("method1",)),
200+
("members", ("module_attribute",)),
201+
): external("37aba2e60532*.html"),
202+
(("filters", None), ("inherited_members", ()), ("members", False)): external("5765a59f2465*.html"),
203+
(("filters", ("module_attribute",)), ("inherited_members", True), ("members", False)): external(
204+
"95b7e6fc3fae*.html",
205+
),
206+
(("filters", ("!module_attribute",)), ("inherited_members", False), ("members", ())): external(
207+
"ec2b4bcdfdd7*.html",
208+
),
209+
(("filters", ()), ("inherited_members", False), ("members", None)): external("fb9e57ae5121*.html"),
210+
(("filters", None), ("inherited_members", ("method1",)), ("members", ())): external("e0a486cfc020*.html"),
211+
(("filters", None), ("inherited_members", False), ("members", ("module_attribute",))): external(
212+
"5b95dcb05554*.html",
213+
),
214+
(("filters", ("!module_attribute",)), ("inherited_members", False), ("members", None)): external(
215+
"6ff3c37b8792*.html",
216+
),
217+
(("filters", ("!module_attribute",)), ("inherited_members", True), ("members", False)): external(
218+
"97051ae4cc47*.html",
219+
),
220+
(("filters", ("!module_attribute",)), ("inherited_members", ("method1",)), ("members", False)): external(
221+
"2db574c46878*.html",
222+
),
223+
},
224+
)

tests/snapshots/external/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# ignore all snapshots which are not refered in the source
2+
*-new.*
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!--
2+
{
3+
"filters": null,
4+
"inherited_members": false,
5+
"members": false
6+
}
7+
-->
8+
9+
<div class="doc doc-object doc-module">
10+
<h1 class="doc doc-heading" id="pkg">
11+
<code>
12+
pkg
13+
</code>
14+
</h1>
15+
<div class="doc doc-contents first">
16+
<p>
17+
Docstring for the package.
18+
</p>
19+
<div class="doc doc-children">
20+
</div>
21+
</div>
22+
</div>

0 commit comments

Comments
 (0)