Ejemplo n.º 1
0
 def test_cubic02_path01_bbox(self):
     # See also: cubic02.html
     d = 'M100,200 C100,100 400,100 400,200'
     path_data = PathParser.parse(d)
     bbox = PathParser.get_bbox(path_data)
     self.assertAlmostEqual(100, bbox.x, places=places)
     self.assertAlmostEqual(125, bbox.y, places=places)
     self.assertAlmostEqual(300, bbox.width, places=places)
     self.assertAlmostEqual(75, bbox.height, places=places)
Ejemplo n.º 2
0
 def test_cubic02_path04_bbox(self):
     # See also: cubic02.html
     d = 'M600,200 C675,100 975,100 900,200'
     path_data = PathParser.parse(d)
     bbox = PathParser.get_bbox(path_data)
     self.assertAlmostEqual(600, bbox.x, places=places)
     self.assertAlmostEqual(125, bbox.y, places=places)
     self.assertAlmostEqual(311.936218, bbox.width, places=places)
     self.assertAlmostEqual(75, bbox.height, places=places)
Ejemplo n.º 3
0
 def test_cubic02_path05_bbox(self):
     # See also: cubic02.html
     d = 'M600,500 C600,350 900,650 900,500'
     path_data = PathParser.parse(d)
     bbox = PathParser.get_bbox(path_data)
     self.assertAlmostEqual(600, bbox.x, places=places)
     self.assertAlmostEqual(456.69873, bbox.y, places=places)
     self.assertAlmostEqual(300, bbox.width, places=places)
     self.assertAlmostEqual(86.602539, bbox.height, places=places)
Ejemplo n.º 4
0
 def test_cubic02_path02_bbox(self):
     # See also: cubic02.html
     d = 'M100,500 C25,400 475,400 400,500'
     path_data = PathParser.parse(d)
     bbox = PathParser.get_bbox(path_data)
     self.assertAlmostEqual(91.533577, bbox.x, places=places)
     self.assertAlmostEqual(425, bbox.y, places=places)
     self.assertAlmostEqual(316.932831, bbox.width, places=places)
     self.assertAlmostEqual(75, bbox.height, places=places)
Ejemplo n.º 5
0
 def test_cubic03_path04_bbox(self):
     # See also: cubic03.html
     d = 'm575,200 c20,100 50,100 70,0 20,-100 55,-100 75,0'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(575, bbox.x, places=places)
     self.assertAlmostEqual(125, bbox.y, places=places)
     self.assertAlmostEqual(145, bbox.width, places=places)
     self.assertAlmostEqual(150, bbox.height, places=places)
Ejemplo n.º 6
0
 def test_cubic02_01_path06_bbox(self):
     # See also: cubic02_01.html
     d = 'm600,800 c25,-100 125,-100 150,0 s125,100 150,0'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(600, bbox.x, places=places)
     self.assertAlmostEqual(725, bbox.y, places=places)
     self.assertAlmostEqual(300, bbox.width, places=places)
     self.assertAlmostEqual(150, bbox.height, places=places)
Ejemplo n.º 7
0
 def test_cubic02_01_path05_bbox(self):
     # See also: cubic02_01.html
     d = 'm600,500 c0,-150 300,150 300,0'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(600, bbox.x, places=places)
     self.assertAlmostEqual(456.699, bbox.y, places=places)
     self.assertAlmostEqual(300, bbox.width, places=places)
     self.assertAlmostEqual(86.603, bbox.height, places=places)
Ejemplo n.º 8
0
 def test_cubic02_01_path02_bbox(self):
     # See also: cubic02_01.html
     d = 'm100,500 c-75,-100 375,-100 300,0'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(91.534, bbox.x, places=places)
     self.assertAlmostEqual(425, bbox.y, places=places)
     self.assertAlmostEqual(316.933, bbox.width, places=places)
     self.assertAlmostEqual(75, bbox.height, places=places)
Ejemplo n.º 9
0
 def test_cubic02_path06_bbox(self):
     # See also: cubic02.html
     d = 'M600,800 C625,700 725,700 750,800 S875,900 900,800'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(600, bbox.x, places=places)
     self.assertAlmostEqual(725, bbox.y, places=places)
     self.assertAlmostEqual(300, bbox.width, places=places)
     self.assertAlmostEqual(150, bbox.height, places=places)
Ejemplo n.º 10
0
 def test_quad02_path02_bbox(self):
     # See also: quad02.html
     d = 'M200,300 Q400,50 600,300 Q800,550 1000,300 Q1200,50 1400,300'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(200, bbox.x, places=places)
     self.assertAlmostEqual(175, bbox.y, places=places)
     self.assertAlmostEqual(1200, bbox.width, places=places)
     self.assertAlmostEqual(250, bbox.height, places=places)
Ejemplo n.º 11
0
 def test_triangle01_bbox(self):
     # See also: triangle01.html
     d = 'M 100 100 L 300 100 L 200 300 z'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(100, bbox.x, places=places)
     self.assertAlmostEqual(100, bbox.y, places=places)
     self.assertAlmostEqual(200, bbox.width, places=places)
     self.assertAlmostEqual(200, bbox.height, places=places)
Ejemplo n.º 12
0
 def test_cubic03_path02_bbox(self):
     # See also: cubic03.html
     d = 'M175,200 C195,300 225,300 245,200 265,100 300,100 320,200'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(175, bbox.x, places=places)
     self.assertAlmostEqual(125, bbox.y, places=places)
     self.assertAlmostEqual(145, bbox.width, places=places)
     self.assertAlmostEqual(150, bbox.height, places=places)
Ejemplo n.º 13
0
 def test_bearing01_bbox(self):
     # See also: bearing01.html
     d = 'M150,10 B36 h47 b72 h47 b72 h47 b72 h47 Z'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(111.976, bbox.x, places=places)
     self.assertAlmostEqual(10, bbox.y, places=places)
     self.assertAlmostEqual(76.048, bbox.width, places=places)
     self.assertAlmostEqual(72.326, bbox.height, places=places)
Ejemplo n.º 14
0
 def test_quad02_path03_bbox(self):
     # See also: quad02.html
     d = 'm200,300 q200,-250 400,0 t400,0 400,0'
     path_data = PathParser.parse(d)
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(200, bbox.x, places=places)
     self.assertAlmostEqual(175, bbox.y, places=places)
     self.assertAlmostEqual(1200, bbox.width, places=places)
     self.assertAlmostEqual(250, bbox.height, places=places)
Ejemplo n.º 15
0
 def test_horizontal_lineto_rel_bbox(self):
     path_data = list()
     path_data.append(SVGPathSegment('m', 100, 50))
     path_data.append(SVGPathSegment('h', -100))
     normalized = PathParser.normalize(path_data)
     # "M100,50 L0,50"
     bbox = PathParser.get_bbox(normalized)
     self.assertAlmostEqual(0, bbox.x, places=places)
     self.assertAlmostEqual(50, bbox.y, places=places)
     self.assertAlmostEqual(100, bbox.width, places=places)
     self.assertAlmostEqual(0, bbox.height, places=places)
Ejemplo n.º 16
0
 def test_cubic03_path01_bbox(self):
     # See also: cubic03.html
     d = "M100,200" \
         " C120,100 155,100 175,200 S225,300 245,200 300,100 320,200"
     path_data = PathParser.parse(d)
     path_data = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(path_data)
     self.assertAlmostEqual(100, bbox.x, places=places)
     self.assertAlmostEqual(125, bbox.y, places=places)
     self.assertAlmostEqual(220, bbox.width, places=places)
     self.assertAlmostEqual(150, bbox.height, places=places)
Ejemplo n.º 17
0
 def test_moveto_rel_bbox(self):
     # implicit "lineto" command
     path_data = list()
     path_data.append(SVGPathSegment('m', 100, 100))
     path_data.append(SVGPathSegment('m', 50, 0))
     path_data.append(SVGPathSegment('m', 0, 50))
     path_data.append(SVGPathSegment('m', -50, 0))
     path_data.append(SVGPathSegment('z'))
     normalized = PathParser.normalize(path_data)
     bbox = PathParser.get_bbox(normalized)
     self.assertEqual(100, bbox.x)
     self.assertEqual(100, bbox.y)
     self.assertEqual(50, bbox.width)
     self.assertEqual(50, bbox.height)