File: error_reporting.py

package info (click to toggle)
plastex 3.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,132 kB
  • sloc: python: 23,341; xml: 18,076; javascript: 7,755; ansic: 46; makefile: 40; sh: 26
file content (20 lines) | stat: -rw-r--r-- 526 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from unittest.mock import Mock
from pytest import raises

from plasTeX.TeX import TeX

def test_error_line_reporting(monkeypatch):
    mock_logger = Mock()
    monkeypatch.setattr('plasTeX.Context.log.error', mock_logger)
    tex = TeX()
    tex.input(r'''\documentclass{article}
        \makeatletter
        \makeatother

        \newcommand{}}} % Intentional error
        \begin{document}\end{document}
      ''')
    with raises(IndexError):
        tex.parse()
    assert 'line 5' in ' '.join(mock_logger.call_args[0])