Skip to content

Commit 18013e5

Browse files
committed
test: Fix tests to allow any requirement levels
1 parent e1832c0 commit 18013e5

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

tools/schemacode/src/bidsschematools/render/utils.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import math
44
import posixpath
5+
import re
56

67

78
def _link_with_html(string, html_path=None, heading=None, pdf_format=False):
@@ -337,10 +338,12 @@ def normalize_requirements(text):
337338
-------
338339
text : str
339340
"""
340-
for level in ("optional", "recommended", "required", "deprecated"):
341-
# Replace both "optional" and "Optional" with "OPTIONAL"
342-
text = text.replace(level.title(), level).replace(level, level.upper())
343-
return text
341+
return re.sub(
342+
r"\b(optional|recommended|required|deprecated)\b",
343+
lambda m: m.group(1).upper(),
344+
text,
345+
flags=re.IGNORECASE,
346+
)
344347

345348

346349
def normalize_breaks(text):

tools/schemacode/src/bidsschematools/tests/test_render_tables.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Tests for the bidsschematools package."""
22

33
from bidsschematools.render import tables
4+
from bidsschematools.render.utils import normalize_requirements
45

56

67
def test_make_entity_table(schema_obj):
@@ -71,15 +72,15 @@ def test_make_sidecar_table(schema_obj):
7172
assert render_row.startswith(f"| [{field}](")
7273
spec = fields[field]
7374
if isinstance(spec, str):
74-
level = spec
75+
level = normalize_requirements(spec)
7576
level_addendum = ""
7677
description_addendum = ""
7778
else:
78-
level = spec["level"]
79-
level_addendum = spec.get("level_addendum", "").replace("required", "REQUIRED")
79+
level = normalize_requirements(spec["level"])
80+
level_addendum = normalize_requirements(spec.get("level_addendum", ""))
8081
description_addendum = spec.get("description_addendum", "")
8182

82-
assert level.upper() in render_row
83+
assert f"| {level}" in render_row
8384
assert level_addendum.split("\n")[0] in render_row
8485
assert description_addendum.split("\n")[0] in render_row
8586

0 commit comments

Comments
 (0)