zulip/zerver/lib/mdiff.py

20 lines
490 B
Python

import logging
import os
import subprocess
class DiffError(Exception):
pass
def diff_strings(output: str, expected_output: str) -> str:
mdiff_path = "web/tests/lib/mdiff.cjs"
if not os.path.isfile(mdiff_path): # nocoverage
msg = "Cannot find mdiff for Markdown diff rendering"
logging.error(msg)
raise DiffError(msg)
command = ["node", mdiff_path, output, expected_output]
diff = subprocess.check_output(command, text=True)
return diff