import pytest
class CustomHtmlThatRaises:
def __html__(self):
raise ValueError(123)
def test_exception_custom_html(escape):
"""Checks whether exceptions in custom __html__ implementations are
propagated correctly.
There was a bug in the native implementation at some point:
https://github.com/pallets/markupsafe/issues/108
"""
obj = CustomHtmlThatRaises()
with pytest.raises(ValueError):
escape(obj)