Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit be6d86c

Browse files
committed
Add a test for dviread
This should exercise the most important parts.
1 parent e9f8571 commit be6d86c

4 files changed

Lines changed: 130 additions & 3 deletions

File tree

856 Bytes
Binary file not shown.
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
[
2+
{
3+
"text": [
4+
[5046272, 4128768, "T", "cmr10", 9.96],
5+
[5519588, 4128768, "h", "cmr10", 9.96],
6+
[5883678, 4128768, "i", "cmr10", 9.96],
7+
[6065723, 4128768, "s", "cmr10", 9.96],
8+
[6542679, 4128768, "i", "cmr10", 9.96],
9+
[6724724, 4128768, "s", "cmr10", 9.96],
10+
[7201680, 4128768, "a", "cmr10", 9.96],
11+
[7747814, 4128768, "L", "cmr10", 9.96],
12+
[7921485, 3994421, "A", "cmr7", 6.97],
13+
[8210032, 4128768, "T", "cmr10", 9.96],
14+
[8574098, 4269852, "E", "cmr10", 9.96],
15+
[8938188, 4128768, "X", "cmr10", 9.96],
16+
[9648162, 4128768, "t", "cmr10", 9.96],
17+
[9903025, 4128768, "e", "cmr10", 9.96],
18+
[10194296, 4128768, "s", "cmr10", 9.96],
19+
[10452799, 4128768, "t", "cmr10", 9.96],
20+
[10926115, 4128768, "d", "cmr10", 9.96],
21+
[11290205, 4128768, "o", "cmr10", 9.96],
22+
[11636091, 4128768, "c", "cmr10", 9.96],
23+
[11927362, 4128768, "u", "cmr10", 9.96],
24+
[12291452, 4128768, "m", "cmr10", 9.96],
25+
[12837587, 4128768, "e", "cmr10", 9.96],
26+
[13128858, 4128768, "n", "cmr10", 9.96],
27+
[13474743, 4128768, "t", "cmr10", 9.96],
28+
[4063232, 4915200, "f", "cmr10", 9.96],
29+
[4263482, 4915200, "o", "cmr10", 9.96],
30+
[4591163, 4915200, "r", "cmr10", 9.96],
31+
[5066299, 4915200, "t", "cmr10", 9.96],
32+
[5321162, 4915200, "e", "cmr10", 9.96],
33+
[5612433, 4915200, "s", "cmr10", 9.96],
34+
[5870936, 4915200, "t", "cmr10", 9.96],
35+
[6125799, 4915200, "i", "cmr10", 9.96],
36+
[6307844, 4915200, "n", "cmr10", 9.96],
37+
[6671934, 4915200, "g", "cmr10", 9.96],
38+
[7218068, 4915200, "m", "cmr10", 9.96],
39+
[7764203, 4915200, "a", "cmr10", 9.96],
40+
[8091884, 4915200, "t", "cmr10", 9.96],
41+
[8346747, 4915200, "p", "cmr10", 9.96],
42+
[8710837, 4915200, "l", "cmr10", 9.96],
43+
[8892882, 4915200, "o", "cmr10", 9.96],
44+
[9220563, 4915200, "t", "cmr10", 9.96],
45+
[9475426, 4915200, "l", "cmr10", 9.96],
46+
[9657471, 4915200, "i", "cmr10", 9.96],
47+
[9839516, 4915200, "b", "cmr10", 9.96],
48+
[10203606, 4915200, "'", "cmr10", 9.96],
49+
[10385651, 4915200, "s", "cmr10", 9.96],
50+
[10862607, 4915200, "d", "cmr10", 9.96],
51+
[11226697, 4915200, "v", "cmr10", 9.96],
52+
[11572583, 4915200, "i", "cmr10", 9.96],
53+
[11754628, 4915200, "r", "cmr10", 9.96],
54+
[12011311, 4915200, "e", "cmr10", 9.96],
55+
[12302582, 4915200, "a", "cmr10", 9.96],
56+
[12630263, 4915200, "d", "cmr10", 9.96],
57+
[13686591, 6629148, "\u0019", "cmmi5", 4.98],
58+
[13717140, 6963172, "2", "cmr5", 4.98],
59+
[13355327, 7035991, "Z", "cmex10", 9.96],
60+
[13406754, 8897228, "0", "cmr7", 6.97],
61+
[14010688, 7200560, "\u0010", "cmex10", 9.96],
62+
[14937658, 7484660, "x", "cmmi10", 9.96],
63+
[14480727, 8377560, "s", "cmr10", 9.96],
64+
[14739230, 8377560, "i", "cmr10", 9.96],
65+
[14921275, 8377560, "n", "cmr10", 9.96],
66+
[15394589, 8377560, "x", "cmmi10", 9.96],
67+
[15847788, 7200560, "\u0011", "cmex10", 9.96],
68+
[16239184, 7336365, "2", "cmr7", 6.97],
69+
[16642411, 7928016, "d", "cmr10", 9.96],
70+
[17006501, 7928016, "x", "cmmi10", 9.96]
71+
],
72+
"boxes": [
73+
[4063232, 5701632, 65536, 22609920],
74+
[13686591, 6703682, 26213, 284106],
75+
[14480727, 7777282, 26213, 1288418]
76+
]
77+
},
78+
{
79+
"text": [
80+
[5046272, 4128768, "a", "cmr10", 9.96],
81+
[5373953, 4128768, "n", "cmr10", 9.96],
82+
[5738043, 4128768, "o", "cmr10", 9.96],
83+
[6065724, 4128768, "t", "cmr10", 9.96],
84+
[6320587, 4128768, "h", "cmr10", 9.96],
85+
[6684677, 4128768, "e", "cmr10", 9.96],
86+
[6975948, 4128768, "r", "cmr10", 9.96],
87+
[7451084, 4128768, "p", "cmr10", 9.96],
88+
[7815174, 4128768, "a", "cmr10", 9.96],
89+
[8142855, 4128768, "g", "cmr10", 9.96],
90+
[8470536, 4128768, "e", "cmr10", 9.96]
91+
],
92+
"boxes": []
93+
}
94+
]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
% source file for test.dvi
2+
\documentclass{article}
3+
\pagestyle{empty}
4+
\begin{document}
5+
This is a \LaTeX\ test document\\
6+
for testing matplotlib's dviread
7+
8+
\noindent\rule{\textwidth}{1pt}
9+
10+
\[ \int\limits_0^{\frac{\pi}{2}} \Bigl(\frac{x}{\sin x}\Bigr)^2\,\mathrm{d}x \]
11+
12+
\special{Special!}
13+
14+
\newpage
15+
another page
16+
17+
\end{document}

lib/matplotlib/tests/test_dviread.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,21 @@
33

44
from matplotlib.externals import six
55

6-
from nose.tools import assert_equal
6+
from nose.tools import assert_equal, with_setup
77
import matplotlib.dviread as dr
88
import os.path
9+
import json
10+
911

1012
original_find_tex_file = dr.find_tex_file
1113

12-
def setup():
14+
def setup_PsfontsMap():
1315
dr.find_tex_file = lambda x: x
1416

15-
def teardown():
17+
def teardown_PsfontsMap():
1618
dr.find_tex_file = original_find_tex_file
1719

20+
@with_setup(setup_PsfontsMap, teardown_PsfontsMap)
1821
def test_PsfontsMap():
1922
filename = os.path.join(
2023
os.path.dirname(__file__),
@@ -52,3 +55,16 @@ def test_PsfontsMap():
5255
assert_equal(entry.encoding, None)
5356
entry = fontmap['TeXfont9']
5457
assert_equal(entry.filename, '/absolute/font9.pfb')
58+
59+
60+
def test_dviread():
61+
dir = os.path.join(os.path.dirname(__file__), 'baseline_images', 'dviread')
62+
with open(os.path.join(dir, 'test.json')) as f:
63+
correct = json.load(f)
64+
with dr.Dvi(os.path.join(dir, 'test.dvi'), None) as dvi:
65+
data = [{'text': [[t.x, t.y, unichr(t.glyph),
66+
unicode(t.font.texname), round(t.font.size, 2)]
67+
for t in page.text],
68+
'boxes': [[b.x, b.y, b.height, b.width] for b in page.boxes]}
69+
for page in dvi]
70+
assert_equal(data, correct)

0 commit comments

Comments
 (0)