Beispiel #1
0
def test_output_traceback_no_formatting_applied(capsys):
    cw = writer.ConsoleWriter("emacs", sys.stderr, HookLoader())
    with patch.object(writer.traceback,
                      "format_exception",
                      return_value=["Hello", "\n"]) as format_exception:
        cw.write_traceback("A", "B", "C")
        format_exception.assert_called_once_with("A", "B", "C")
        captured = capsys.readouterr()
        assert captured.err == "Hello\n"
Beispiel #2
0
def test_out_traceback_with_format(capsys):
    cw = writer.ConsoleWriter()
    tb = """Traceback (most recent call last):
  File "test.py", line 1, in <module>
    3 + 'String'
TypeError: unsupported operand type(s) for +: 'int' and 'str'"""
    cw.output_traceback(tb)

    captured = capsys.readouterr()
    escaped_tb = escape_ansi(captured.err)
    assert escaped_tb.strip() == tb.strip()
Beispiel #3
0
def test_out_traceback_with_format(capsys):
    cw = writer.ConsoleWriter("monokai", sys.stderr, HookLoader())
    tb = "Traceback Value"
    error_message = "Some Error Message"
    error_type = "IndexError"
    with patch.object(writer.traceback,
                      "format_exception",
                      return_value=["Some", "traceback"]) as format_mock:
        cw.write_traceback(error_type, error_message, tb)
        format_mock.assert_called_once_with(error_type, error_message, tb)

        captured = capsys.readouterr()
        escaped_tb = escape_ansi(captured.err)
        assert escaped_tb.strip() == "Sometraceback"
Beispiel #4
0
def test_write_debug_tree_offset_2(capsys):
    Variable = writer.Variable

    var1 = Variable("y", 0)
    var1.value = "Something"

    var2 = Variable("x", 2)
    var2.value = "Other"
    sorted_values = [var1, var2]

    console_writer = writer.ConsoleWriter()
    console_writer.left_offset = 2
    console_writer.write_debug_tree(sorted_values)

    capture = capsys.readouterr()
    result = escape_ansi(capture.err)
    expected_result = """    || │ │
    || │ └── x: str = 'Other'
    || │
    || └── y: str = 'Something'
    || \n"""
    assert result == expected_result
Beispiel #5
0
def test_output_traceback_no_formatting_applied(capsys):
    cw = writer.ConsoleWriter()
    cw.output_traceback("Hello")
    captured = capsys.readouterr()
    assert captured.err == "Hello\n"
Beispiel #6
0
def test_write_out(capsys):
    cw = writer.ConsoleWriter()
    cw._write_out("Hello World")
    captured = capsys.readouterr()
    assert captured.err == "Hello World"
Beispiel #7
0
 def setUp(self) -> None:
     self.cw = writer.ConsoleWriter()
Beispiel #8
0
def test_render_last_line(capsys):
    cw = writer.ConsoleWriter()
    cw.render_last_line(42, "x = hello * 'String'")
    captured = capsys.readouterr()
    output = escape_ansi(captured.err).strip()
    assert output == "42 || x = hello * 'String'"
Beispiel #9
0
 def setUp(self) -> None:
     self.cw = writer.ConsoleWriter("monokai", sys.stderr, HookLoader())
Beispiel #10
0
def test_write_out(capsys):
    cw = writer.ConsoleWriter("monokai", sys.stderr, HookLoader())
    cw._write_out("Hello World")
    captured = capsys.readouterr()
    assert captured.err == "Hello World"