def test_lineto_errors(self):
     # error: 0 lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 l"))
     # error: 1 lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 l0"))
     # error: 3 lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 l0,0,0"))
Beispiel #2
0
 def test_lineto_errors(self):
     # error: 0 lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 l"))
     # error: 1 lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 l0"))
     # error: 3 lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 l0,0,0"))
Beispiel #3
0
 def test_moveto(self):
     self.assertTrue(PathDataParser.is_valid("m 0, 0"))
     self.assertTrue(PathDataParser.is_valid("m 0,0"))
     self.assertTrue(PathDataParser.is_valid("m 0, 0"))
     self.assertTrue(PathDataParser.is_valid("m 0 ,0"))
     self.assertTrue(PathDataParser.is_valid("m 0 , 0"))
     self.assertTrue(PathDataParser.is_valid("m0,0"))
     self.assertTrue(PathDataParser.is_valid("M0,0,1,1"))
     self.assertTrue(PathDataParser.is_valid("M 0,0 1,1"))
     self.assertTrue(PathDataParser.is_valid("M 0 0 1 1"))
     self.assertTrue(PathDataParser.is_valid("M 0 0 , 1 1"))
 def test_moveto(self):
     self.assertTrue(PathDataParser.is_valid("m 0, 0"))
     self.assertTrue(PathDataParser.is_valid("m 0,0"))
     self.assertTrue(PathDataParser.is_valid("m 0, 0"))
     self.assertTrue(PathDataParser.is_valid("m 0 ,0"))
     self.assertTrue(PathDataParser.is_valid("m 0 , 0"))
     self.assertTrue(PathDataParser.is_valid("m0,0"))
     self.assertTrue(PathDataParser.is_valid("M0,0,1,1"))
     self.assertTrue(PathDataParser.is_valid("M 0,0 1,1"))
     self.assertTrue(PathDataParser.is_valid("M 0 0 1 1"))
     self.assertTrue(PathDataParser.is_valid("M 0 0 , 1 1"))
Beispiel #5
0
 def test_horizontal_lineto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0h1"))
     self.assertTrue(PathDataParser.is_valid("m0,0H1,2"))
     self.assertTrue(PathDataParser.is_valid("m0,0h1,2,3"))
     self.assertTrue(PathDataParser.is_valid("m0,0H1,2 3,4 5 6 7"))
     self.assertTrue(PathDataParser.is_valid("m0,0h1."))
     self.assertTrue(PathDataParser.is_valid("m0,0H1.,2."))
     self.assertTrue(PathDataParser.is_valid("m0,0h.1,.2,.3"))
     self.assertTrue(PathDataParser.is_valid("m0,0H1.,.2 3.,.4 .5 .6 7."))
Beispiel #6
0
 def test_lineto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0L0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 L0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 L 0.5 0.5"))
     self.assertTrue(PathDataParser.is_valid("m0,0 L 0.5 0.5 99,88"))
     self.assertTrue(PathDataParser.is_valid("m0,0l0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 l0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 l 0.5 0.5"))
     self.assertTrue(PathDataParser.is_valid("m0,0 l 0.5 0.5 99,88"))
 def test_lineto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0L0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 L0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 L 0.5 0.5"))
     self.assertTrue(PathDataParser.is_valid("m0,0 L 0.5 0.5 99,88"))
     self.assertTrue(PathDataParser.is_valid("m0,0l0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 l0,0"))
     self.assertTrue(PathDataParser.is_valid("m0,0 l 0.5 0.5"))
     self.assertTrue(PathDataParser.is_valid("m0,0 l 0.5 0.5 99,88"))
 def test_horizontal_lineto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0h1"))
     self.assertTrue(PathDataParser.is_valid("m0,0H1,2"))
     self.assertTrue(PathDataParser.is_valid("m0,0h1,2,3"))
     self.assertTrue(PathDataParser.is_valid("m0,0H1,2 3,4 5 6 7"))
     self.assertTrue(PathDataParser.is_valid("m0,0h1."))
     self.assertTrue(PathDataParser.is_valid("m0,0H1.,2."))
     self.assertTrue(PathDataParser.is_valid("m0,0h.1,.2,.3"))
     self.assertTrue(PathDataParser.is_valid("m0,0H1.,.2 3.,.4 .5 .6 7."))
Beispiel #9
0
 def test_vertical_lineto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0v1"))
     self.assertTrue(PathDataParser.is_valid("m0,0V1,2"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1,2,3"))
     self.assertTrue(PathDataParser.is_valid("m0,0V1,2 3,4 5 6 7"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1."))
     self.assertTrue(PathDataParser.is_valid("m0,0V1.,2."))
     self.assertTrue(PathDataParser.is_valid("m0,0v.1,.2,.3"))
     self.assertTrue(PathDataParser.is_valid("m0,0V1.,.2 3.,.4 .5 .6 7."))
Beispiel #10
0
 def test_vertical_lineto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0v1"))
     self.assertTrue(PathDataParser.is_valid("m0,0V1,2"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1,2,3"))
     self.assertTrue(PathDataParser.is_valid("m0,0V1,2 3,4 5 6 7"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1."))
     self.assertTrue(PathDataParser.is_valid("m0,0V1.,2."))
     self.assertTrue(PathDataParser.is_valid("m0,0v.1,.2,.3"))
     self.assertTrue(PathDataParser.is_valid("m0,0V1.,.2 3.,.4 .5 .6 7."))
Beispiel #11
0
 def test_elliptical_arc_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 0 0 10"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 0 0"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 0"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a"))
     # flag errors flags != [01]
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 2 2 10 10"))
Beispiel #12
0
 def test_elliptical_arc_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 0 0 10"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 0 0"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 0"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1"))
     self.assertFalse(PathDataParser.is_valid("m0,0 a"))
     # flag errors flags != [01]
     self.assertFalse(PathDataParser.is_valid("m0,0 a 1 1 45 2 2 10 10"))
Beispiel #13
0
 def test_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 c 1 2 3 4 5"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9 10 11"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9 10"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7"))
Beispiel #14
0
 def test_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 c 1 2 3 4 5"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9 10 11"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9 10"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8"))
     self.assertFalse(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7"))
Beispiel #15
0
 def test_elliptical_arc(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 a 1 1 0 0 0 10 10"))
     self.assertTrue(PathDataParser.is_valid("m0,0 a 1 1 0 1 1 10 10"))
     self.assertTrue(PathDataParser.is_valid("m0,0 A 1 1 0 0 0 10 10, 1 1 0 0 0 10 10"))
Beispiel #16
0
 def test_moveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m m"))
     self.assertFalse(PathDataParser.is_valid("m 1 2 3"))
Beispiel #17
0
 def test_elliptical_arc(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 a 1 1 0 0 0 10 10"))
     self.assertTrue(PathDataParser.is_valid("m0,0 a 1 1 0 1 1 10 10"))
     self.assertTrue(PathDataParser.is_valid("m0,0 A 1 1 0 0 0 10 10, 1 1 0 0 0 10 10"))
Beispiel #18
0
 def test_smooth_quadratic_bezier_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 t 1"))
     self.assertFalse(PathDataParser.is_valid("m0,0 t 1 2 3"))
Beispiel #19
0
 def test_vertical_lineto_errors(self):
     # error: 0 vertical-lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 v"))
Beispiel #20
0
 def test_horizontal_lineto_errors(self):
     # error: 0 horizontal-lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 h"))
Beispiel #21
0
 def test_smooth_quadratic_bezier_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 t 1 2"))
     self.assertTrue(PathDataParser.is_valid("m0,0 T 1 2 3 4 5 6"))
Beispiel #22
0
 def test_smooth_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 s 3 4 5"))
     self.assertFalse(PathDataParser.is_valid("m0,0 S 1 2 3 4, 7 8 9"))
     self.assertFalse(PathDataParser.is_valid("m0,0 S 1 2 3 4, 7 8"))
     self.assertFalse(PathDataParser.is_valid("m0,0 S 1 2 3 4, 7"))
Beispiel #23
0
 def test_quadratic_bezier_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 q 1 2 3 4"))
     self.assertTrue(PathDataParser.is_valid("m0,0 Q 1 2 3 4, 5 6 7 8"))
Beispiel #24
0
 def test_closepath_errors(self):
     # error: 1 closepath arg
     self.assertFalse(PathDataParser.is_valid("m0,0 z 1"))
Beispiel #25
0
 def test_vertical_lineto_errors(self):
     # error: 0 vertical-lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 v"))
Beispiel #26
0
 def test_closepath_errors(self):
     # error: 1 closepath arg
     self.assertFalse(PathDataParser.is_valid("m0,0 z 1"))
Beispiel #27
0
 def test_closepath(self):
     self.assertTrue(PathDataParser.is_valid("m0,0h1z"))
     self.assertTrue(PathDataParser.is_valid("m0,0h1Z"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1 z"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1 Z"))
Beispiel #28
0
 def test_moveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m m"))
     self.assertFalse(PathDataParser.is_valid("m 1 2 3"))
Beispiel #29
0
 def test_quadratic_bezier_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 q 1 2 3 4"))
     self.assertTrue(PathDataParser.is_valid("m0,0 Q 1 2 3 4, 5 6 7 8"))
Beispiel #30
0
 def test_smooth_quadratic_bezier_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 t 1"))
     self.assertFalse(PathDataParser.is_valid("m0,0 t 1 2 3"))
Beispiel #31
0
 def test_quadratic_bezier_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3"))
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3 4, 5 6 7"))
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3 4, 5 6"))
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3 4, 5"))
Beispiel #32
0
 def test_quadratic_bezier_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3"))
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3 4, 5 6 7"))
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3 4, 5 6"))
     self.assertFalse(PathDataParser.is_valid("m0,0 q 1 2 3 4, 5"))
Beispiel #33
0
 def test_smooth_quadratic_bezier_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 t 1 2"))
     self.assertTrue(PathDataParser.is_valid("m0,0 T 1 2 3 4 5 6"))
Beispiel #34
0
 def test_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 c 1 2 3 4 5 6"))
     self.assertTrue(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9 10 11 12"))
Beispiel #35
0
 def test_horizontal_lineto_errors(self):
     # error: 0 horizontal-lineto args
     self.assertFalse(PathDataParser.is_valid("m0,0 h"))
Beispiel #36
0
 def test_closepath(self):
     self.assertTrue(PathDataParser.is_valid("m0,0h1z"))
     self.assertTrue(PathDataParser.is_valid("m0,0h1Z"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1 z"))
     self.assertTrue(PathDataParser.is_valid("m0,0v1 Z"))
Beispiel #37
0
 def test_smooth_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 s 3 4 5 6"))
     self.assertTrue(PathDataParser.is_valid("m0,0 S 3 4 5 6, 9 10 11 12"))
Beispiel #38
0
 def test_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 c 1 2 3 4 5 6"))
     self.assertTrue(PathDataParser.is_valid("m0,0 C 1 2 3 4 5 6, 7 8 9 10 11 12"))
Beispiel #39
0
 def is_path_data(self, value):
     if is_string(value):
         return PathDataParser.is_valid(value)
     else:
         return False
Beispiel #40
0
 def test_smooth_curveto(self):
     self.assertTrue(PathDataParser.is_valid("m0,0 s 3 4 5 6"))
     self.assertTrue(PathDataParser.is_valid("m0,0 S 3 4 5 6, 9 10 11 12"))
Beispiel #41
0
 def test_smooth_curveto_errors(self):
     self.assertFalse(PathDataParser.is_valid("m0,0 s 3 4 5"))
     self.assertFalse(PathDataParser.is_valid("m0,0 S 1 2 3 4, 7 8 9"))
     self.assertFalse(PathDataParser.is_valid("m0,0 S 1 2 3 4, 7 8"))
     self.assertFalse(PathDataParser.is_valid("m0,0 S 1 2 3 4, 7"))