/usr/lib/python2.7/dist-packages/FontTools/fontTools/pens/pointInsidePen_test.py is in fonttools 3.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from fontTools.pens.pointInsidePen import PointInsidePen
import unittest
class PointInsidePenTest(unittest.TestCase):
def test_line(self):
def draw_triangles(pen):
pen.moveTo((0,0)); pen.lineTo((10,5)); pen.lineTo((10,0))
pen.moveTo((9,1)); pen.lineTo((4,1)); pen.lineTo((9,4))
pen.closePath()
self.assertEqual(
" *********"
" ** *"
" ** *"
" * *"
" *",
self.render(draw_triangles, even_odd=True))
self.assertEqual(
" *********"
" *******"
" *****"
" ***"
" *",
self.render(draw_triangles, even_odd=False))
def test_curve(self):
def draw_curves(pen):
pen.moveTo((0,0)); pen.curveTo((9,1), (9,4), (0,5))
pen.moveTo((10,5)); pen.curveTo((1,4), (1,1), (10,0))
pen.closePath()
self.assertEqual(
"*** ***"
"**** ****"
"*** ***"
"**** ****"
"*** ***",
self.render(draw_curves, even_odd=True))
self.assertEqual(
"*** ***"
"**********"
"**********"
"**********"
"*** ***",
self.render(draw_curves, even_odd=False))
def test_qCurve(self):
def draw_qCurves(pen):
pen.moveTo((0,0)); pen.qCurveTo((15,2), (0,5))
pen.moveTo((10,5)); pen.qCurveTo((-5,3), (10,0))
pen.closePath()
self.assertEqual(
"*** **"
"**** ***"
"*** ***"
"*** ****"
"** ***",
self.render(draw_qCurves, even_odd=True))
self.assertEqual(
"*** **"
"**********"
"**********"
"**********"
"** ***",
self.render(draw_qCurves, even_odd=False))
@staticmethod
def render(draw_function, even_odd):
result = BytesIO()
for y in range(5):
for x in range(10):
pen = PointInsidePen(None, (x + 0.5, y + 0.5), even_odd)
draw_function(pen)
if pen.getResult():
result.write(b"*")
else:
result.write(b" ")
return tounicode(result.getvalue())
if __name__ == "__main__":
unittest.main()
|