Skip to content

Commit 49cc084

Browse files
committed
refactor: use only one regex for all codeformatters
1 parent 27e2ba3 commit 49cc084

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

src/mdformat/_util.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ def is_md_equal(
6666
html = mdit.render(text)
6767

6868
# Remove codeblocks because code formatter plugins do arbitrary changes.
69-
for codeclass in codeformatters:
69+
if codeformatters:
70+
langs_re = "|".join(re.escape(lang) for lang in codeformatters)
7071
html = re.sub(
71-
f'<code class="language-{codeclass}">.*</code>',
72+
rf'<code class="language-(?:{langs_re})">.*</code>',
7273
"",
7374
html,
7475
flags=re.DOTALL,

tests/test_util.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from mdformat._util import is_md_equal
2+
3+
4+
def test_is_md_equal():
5+
md1 = """
6+
paragraph
7+
8+
```js
9+
console.log()
10+
```
11+
12+
paragr
13+
"""
14+
md2 = """
15+
paragraph
16+
17+
```js
18+
bonsole.l()g
19+
```
20+
21+
paragr"""
22+
assert not is_md_equal(md1, md2)
23+
assert is_md_equal(md1, md2, codeformatters=("js", "go"))

0 commit comments

Comments
 (0)