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 90 91 92 93 94 95 96 97
|
#Copyright ReportLab Europe Ltd. 2000-2016
#see license.txt for license details
"""
Tests for RLG Image shapes.
"""
from reportlab.lib.testutils import setOutDir,makeSuiteForClasses, outputfile, printLocation
setOutDir(__name__)
import os
import unittest
from reportlab.graphics.shapes import Image, Drawing
from reportlab.graphics import renderPDF
from reportlab.lib.pagesizes import A4
IMAGES = []
IMAGENAME = 'pythonpowered.gif'
GSIMAGE = 'pythonpowered-gs.gif'
class ImageTestCase(unittest.TestCase):
"Test RLG Image shape."
def __del__(self):
if IMAGES[-1] != None:
return
else:
del IMAGES[-1]
d = Drawing(A4[0], A4[1])
for img in IMAGES:
d.add(img)
outPath = outputfile("test_graphics_images.pdf")
renderPDF.drawToFile(d, outPath) #, '')
assert os.path.exists(outPath) == 1
def test0(self):
"Test convert a bitmap file as Image shape into a tmp. PDF file."
d = Drawing(110, 44)
inPath = IMAGENAME
img = Image(0, 0, 110, 44, inPath)
d.add(img)
IMAGES.append(img)
def test1(self):
"Test Image shape, adding it to a PDF page."
inPath = IMAGENAME
img = Image(0, 0, 110, 44, inPath)
IMAGES.append(img)
def test2(self):
"Test scaled Image shape adding it to a PDF page."
inPath = IMAGENAME
img = Image(0, 0, 110, 44, inPath)
d = Drawing(110, 44)
d.add(img)
d.translate(120, 0)
d.scale(2, 2)
IMAGES.append(d)
def test3(self):
"Test rotated Image shape adding it to a PDF page."
inPath = IMAGENAME
img = Image(0, 0, 110, 44, inPath)
d = Drawing(110, 44)
d.add(img)
d.translate(420, 0)
d.scale(2, 2)
d.rotate(45)
IMAGES.append(d)
def test4(self):
"Test convert a greyscale bitmap file as Image shape into a tmp. PDF file."
d = Drawing(110, 44)
img = Image(0, 0, 110, 44, GSIMAGE)
d.add(img)
d.translate(0,2*72)
IMAGES.append(d)
IMAGES.append(None) # used to indicate last test
def makeSuite():
return makeSuiteForClasses(ImageTestCase)
#noruntests
if __name__ == "__main__":
unittest.TextTestRunner().run(makeSuite())
printLocation()
|