67 lines
1.6 KiB
Python
67 lines
1.6 KiB
Python
import traceback
|
|
|
|
import pytest
|
|
|
|
from wasabi.traceback_printer import TracebackPrinter
|
|
|
|
|
|
@pytest.fixture
|
|
def tb():
|
|
return traceback.extract_stack()
|
|
|
|
|
|
def test_traceback_printer(tb):
|
|
tbp = TracebackPrinter(tb_base="wasabi")
|
|
msg = tbp("Hello world", "This is a test", tb=tb)
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_printer_highlight(tb):
|
|
tbp = TracebackPrinter(tb_base="wasabi")
|
|
msg = tbp("Hello world", "This is a test", tb=tb, highlight="kwargs")
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_printer_custom_colors(tb):
|
|
tbp = TracebackPrinter(
|
|
tb_base="wasabi", color_error="blue", color_highlight="green", color_tb="yellow"
|
|
)
|
|
msg = tbp("Hello world", "This is a test", tb=tb, highlight="kwargs")
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_printer_only_title(tb):
|
|
tbp = TracebackPrinter(tb_base="wasabi")
|
|
msg = tbp("Hello world", tb=tb)
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_dot_relative_path_tb_base(tb):
|
|
tbp = TracebackPrinter(tb_base=".")
|
|
msg = tbp("Hello world", tb=tb)
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_tb_base_none(tb):
|
|
tbp = TracebackPrinter()
|
|
msg = tbp("Hello world", tb=tb)
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_printer_no_tb():
|
|
tbp = TracebackPrinter(tb_base="wasabi")
|
|
msg = tbp("Hello world", "This is a test")
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_printer_custom_tb_range():
|
|
tbp = TracebackPrinter(tb_range_start=-10, tb_range_end=-3)
|
|
msg = tbp("Hello world", "This is a test")
|
|
print(msg)
|
|
|
|
|
|
def test_traceback_printer_custom_tb_range_start():
|
|
tbp = TracebackPrinter(tb_range_start=-1)
|
|
msg = tbp("Hello world", "This is a test")
|
|
print(msg)
|