Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
parent
00ad49a143
commit
45fb349a7d
5098 changed files with 952558 additions and 85 deletions
65
venv/Lib/site-packages/matplotlib/tests/test_dviread.py
Normal file
65
venv/Lib/site-packages/matplotlib/tests/test_dviread.py
Normal file
|
@ -0,0 +1,65 @@
|
|||
import json
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
|
||||
import matplotlib.dviread as dr
|
||||
import pytest
|
||||
|
||||
|
||||
def test_PsfontsMap(monkeypatch):
|
||||
monkeypatch.setattr(dr, 'find_tex_file', lambda x: x)
|
||||
|
||||
filename = str(Path(__file__).parent / 'baseline_images/dviread/test.map')
|
||||
fontmap = dr.PsfontsMap(filename)
|
||||
# Check all properties of a few fonts
|
||||
for n in [1, 2, 3, 4, 5]:
|
||||
key = b'TeXfont%d' % n
|
||||
entry = fontmap[key]
|
||||
assert entry.texname == key
|
||||
assert entry.psname == b'PSfont%d' % n
|
||||
if n not in [3, 5]:
|
||||
assert entry.encoding == b'font%d.enc' % n
|
||||
elif n == 3:
|
||||
assert entry.encoding == b'enc3.foo'
|
||||
# We don't care about the encoding of TeXfont5, which specifies
|
||||
# multiple encodings.
|
||||
if n not in [1, 5]:
|
||||
assert entry.filename == b'font%d.pfa' % n
|
||||
else:
|
||||
assert entry.filename == b'font%d.pfb' % n
|
||||
if n == 4:
|
||||
assert entry.effects == {'slant': -0.1, 'extend': 2.2}
|
||||
else:
|
||||
assert entry.effects == {}
|
||||
# Some special cases
|
||||
entry = fontmap[b'TeXfont6']
|
||||
assert entry.filename is None
|
||||
assert entry.encoding is None
|
||||
entry = fontmap[b'TeXfont7']
|
||||
assert entry.filename is None
|
||||
assert entry.encoding == b'font7.enc'
|
||||
entry = fontmap[b'TeXfont8']
|
||||
assert entry.filename == b'font8.pfb'
|
||||
assert entry.encoding is None
|
||||
entry = fontmap[b'TeXfont9']
|
||||
assert entry.filename == b'/absolute/font9.pfb'
|
||||
# Missing font
|
||||
with pytest.raises(KeyError, match='no-such-font'):
|
||||
fontmap[b'no-such-font']
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("kpsewhich") is None,
|
||||
reason="kpsewhich is not available")
|
||||
def test_dviread():
|
||||
dirpath = Path(__file__).parent / 'baseline_images/dviread'
|
||||
with (dirpath / 'test.json').open() as f:
|
||||
correct = json.load(f)
|
||||
with dr.Dvi(str(dirpath / 'test.dvi'), None) as dvi:
|
||||
data = [{'text': [[t.x, t.y,
|
||||
chr(t.glyph),
|
||||
t.font.texname.decode('ascii'),
|
||||
round(t.font.size, 2)]
|
||||
for t in page.text],
|
||||
'boxes': [[b.x, b.y, b.height, b.width] for b in page.boxes]}
|
||||
for page in dvi]
|
||||
assert data == correct
|
Loading…
Add table
Add a link
Reference in a new issue