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
|
#!/usr/bin/env python
#coding:utf-8
# Author: mozman --<mozman@gmx.at>
# Purpose: test image object
# Created: 09.10.2010
# Copyright (C) 2010, Manfred Moitzi
# License: MIT License
import sys
import unittest
from svgwrite.image import Image
class TestImage(unittest.TestCase):
def test_constructor(self):
image = Image("http://localhost/test.jpg")
self.assertEqual(image.tostring(), '<image xlink:href="http://localhost/test.jpg" />')
def test_constructor2(self):
image = Image("test.jpg", insert=(10,20), size=(30,40))
self.assertEqual(image.tostring(), '<image height="40" width="30" x="10" xlink:href="test.jpg" y="20" />')
def test_errors(self):
self.assertRaises(TypeError, Image, 1)
self.assertRaises(TypeError, Image, 3.1415)
self.assertRaises(TypeError, Image, (1,2))
self.assertRaises(TypeError, Image, dict(a=1))
def test_strech(self):
image = Image("http://test.jpg")
image.stretch()
self.assertEqual(image.tostring(), '<image preserveAspectRatio="none" xlink:href="http://test.jpg" />')
def test_fit_horiz(self):
image = Image("http://test.jpg")
for align, expected in [('left', 'xMin'), ('center', 'xMid'), ('right', 'xMax')]:
image.fit(align, 'top', 'meet')
self.assertEqual(image.tostring(), '<image preserveAspectRatio="%sYMin meet" xlink:href="http://test.jpg" />' % expected)
def test_fit_vert(self):
image = Image("http://test.jpg")
for align, expected in [('top', 'YMin'), ('middle', 'YMid'), ('bottom', 'YMax')]:
image.fit('left', align, 'slice')
self.assertEqual(image.tostring(), '<image preserveAspectRatio="xMin%s slice" xlink:href="http://test.jpg" />' % expected)
def test_fit_err(self):
image = Image("http://test.jpg")
self.assertRaises(ValueError, image.fit, scale='invalid')
self.assertRaises(KeyError, image.fit, horiz='invalid')
self.assertRaises(KeyError, image.fit, vert='invalid')
if __name__=='__main__':
unittest.main()
|