def test_no_hint_no_note_no_context(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context=None, hint_stmt=None, attention_stmt=None, ) assert str(err) == textwrap.dedent("""\ Oh no! It broke. :( """)
def test_no_hint_no_note_no_context(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context=None, hint_stmt=None, note_stmt=None, ) assert rendered_in_ascii(err) == textwrap.dedent("""\ error: test-diagnostic Oh no! It broke. :( """)
def test_no_context_no_note(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context=None, attention_stmt=None, hint_stmt="Do it better next time, by trying harder.", ) assert str(err) == textwrap.dedent("""\ Oh no! It broke. :( Hint: Do it better next time, by trying harder. """)
def test_no_hint_no_note(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context="Something went wrong\nvery wrong.", attention_stmt=None, hint_stmt=None, ) assert str(err) == textwrap.dedent("""\ Oh no! It broke. :( Something went wrong very wrong. """)
def test_no_context_no_hint(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context=None, attention_stmt= "You did something wrong, which is what caused this error.", hint_stmt=None, ) assert str(err) == textwrap.dedent("""\ Oh no! It broke. :( Note: You did something wrong, which is what caused this error. """)
def test_no_hint_no_note(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context="Something went wrong\nvery wrong.", note_stmt=None, hint_stmt=None, ) assert rendered(err) == textwrap.dedent("""\ error: test-diagnostic × Oh no! │ It broke. :( ╰─> Something went wrong very wrong. """)
def test_no_context_no_note(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context=None, note_stmt=None, hint_stmt="Do it better next time, by trying harder.", ) assert rendered_in_ascii(err) == textwrap.dedent("""\ error: test-diagnostic Oh no! It broke. :( hint: Do it better next time, by trying harder. """)
def test_no_context_no_hint(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context=None, note_stmt= "You did something wrong, which is what caused this error.", hint_stmt=None, ) assert rendered_in_ascii(err) == textwrap.dedent("""\ error: test-diagnostic Oh no! It broke. :( note: You did something wrong, which is what caused this error. """)
def test_no_context(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context=None, note_stmt= "You did something wrong, which is what caused this error.", hint_stmt="Do it better next time, by trying harder.", ) assert rendered(err) == textwrap.dedent("""\ error: test-diagnostic × Oh no! It broke. :( note: You did something wrong, which is what caused this error. hint: Do it better next time, by trying harder. """)
def test_complete(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke. :(", context="Something went wrong\nvery wrong.", attention_stmt= "You did something wrong, which is what caused this error.", hint_stmt="Do it better next time, by trying harder.", ) assert str(err) == textwrap.dedent("""\ Oh no! It broke. :( Something went wrong very wrong. Note: You did something wrong, which is what caused this error. Hint: Do it better next time, by trying harder. """)
def test_complete_color(self) -> None: err = DiagnosticPipError( reference="test-diagnostic", message="Oh no!\nIt broke.", context="Something went wrong\nvery wrong.", note_stmt="You did something wrong.", hint_stmt="Do it better next time, by trying harder.", ) def esc(code: str = "0") -> str: return f"\x1b[{code}m" assert rendered(err, color=True) == textwrap.dedent(f"""\ {esc("1;31")}error{esc("0")}: {esc("1")}test-diagnostic{esc("0")} {esc("31")}×{esc("0")} Oh no! {esc("31")}│{esc("0")} It broke. {esc("31")}╰─>{esc("0")} Something went wrong {esc("31")} {esc("0")} very wrong. {esc("1;35")}note{esc("0")}: You did something wrong. {esc("1;36")}hint{esc("0")}: Do it better next time, by trying harder. """)