testlengths.py 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # Copyright (C) 2007 Søren Roug, European Environment Agency
  4. #
  5. # This is free software. You may redistribute it under the terms
  6. # of the Apache license and the GNU General Public License Version
  7. # 2 or at your option any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public
  15. # License along with this program; if not, write to the Free Software
  16. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  17. #
  18. # Contributor(s):
  19. #
  20. import unittest
  21. from odf import chart, draw, presentation, style, svg
  22. from odf.element import IllegalChild
  23. class TestDrawElements(unittest.TestCase):
  24. def test_calls(self):
  25. """ Simple calls """
  26. chart.Chart( attributes={'class':'chart:bar'}, height="0cm" )
  27. chart.Chart( attributes={'class':'chart:bar'}, width="0cm" )
  28. draw.AreaCircle( cy="1cm", cx="1cm", r="0cm" )
  29. draw.AreaPolygon( height="1cm", points="0,0 1,1", y="1cm", x="1cm", viewbox="0 0 1000 1000", width="0cm" )
  30. draw.AreaPolygon( height="1cm", width="1cm", points="0,0 1,1", x="1cm", viewbox="0 0 1000 1000", y="0cm" )
  31. draw.AreaPolygon( height="1cm", width="1cm", points="0,0 1,1", y="1cm", viewbox="0 0 1000 1000", x="0cm" )
  32. draw.AreaPolygon( width="1cm", points="0,0 1,1", y="1cm", x="1cm", viewbox="0 0 1000 1000", height="0cm" )
  33. draw.AreaRectangle( x="1cm", height="1cm", width="1cm", y="0cm" )
  34. draw.AreaRectangle( y="1cm", height="1cm", width="1cm", x="0cm" )
  35. draw.AreaRectangle( y="1cm", x="1cm", height="1cm", width="0cm" )
  36. draw.AreaRectangle( y="1cm", x="1cm", width="1cm", height="0cm" )
  37. draw.ContourPath( recreateonedit="true", viewbox="0 0 1000 1000", d="1cm", height="0cm" )
  38. draw.ContourPath( recreateonedit="true", viewbox="0 0 1000 1000", d="1cm", width="0cm" )
  39. draw.ContourPolygon( points="0,0 1,1", recreateonedit="true", viewbox="0 0 1000 1000", height="0cm" )
  40. draw.ContourPolygon( points="0,0 1,1", recreateonedit="true", viewbox="0 0 1000 1000", width="0cm" )
  41. draw.Control( control="1cm", endx="0cm" )
  42. draw.Control( control="1cm", endy="0cm" )
  43. draw.Control( control="1cm", height="0cm" )
  44. draw.Control( control="1cm", width="0cm" )
  45. draw.Control( control="1cm", x="0cm" )
  46. draw.Control( control="1cm", y="0cm" )
  47. draw.FillImage( href="1cm", type="simple", name="1cm", height="0cm" )
  48. draw.FillImage( href="1cm", type="simple", name="1cm", width="0cm" )
  49. draw.GluePoint( x="1cm", align="1cm", id="1cm", y="0cm", escapedirection="right" )
  50. draw.GluePoint( y="1cm", align="1cm", id="1cm", x="0cm", escapedirection="right" )
  51. draw.Line( x2="1cm", x1="1cm", y2="1cm", y1="0cm" )
  52. draw.Line( y1="1cm", x1="1cm", y2="1cm", x2="0cm" )
  53. draw.Line( y1="1cm", x2="1cm", x1="1cm", y2="0cm" )
  54. draw.Line( y1="1cm", x2="1cm", x1="1cm", y2="1cm", endx="0cm" )
  55. draw.Line( y1="1cm", x2="1cm", x1="1cm", y2="1cm", endy="0cm" )
  56. draw.Line( y1="1cm", x2="1cm", y2="1cm", x1="0cm" )
  57. draw.Measure( x2="1cm", x1="1cm", y2="1cm", y1="0cm" )
  58. draw.Measure( y1="1cm", x1="1cm", y2="1cm", x2="0cm" )
  59. draw.Measure( y1="1cm", x2="1cm", x1="1cm", y2="0cm" )
  60. draw.Measure( y1="1cm", x2="1cm", x1="1cm", y2="1cm", endx="0cm" )
  61. draw.Measure( y1="1cm", x2="1cm", x1="1cm", y2="1cm", endy="0cm" )
  62. draw.Measure( y1="1cm", x2="1cm", y2="1cm", x1="0cm" )
  63. draw.Path( d="1cm", viewbox="0 0 1000 1000", endx="0cm" )
  64. draw.Path( d="1cm", viewbox="0 0 1000 1000", endy="0cm" )
  65. draw.Path( d="1cm", viewbox="0 0 1000 1000", height="0cm" )
  66. draw.Path( d="1cm", viewbox="0 0 1000 1000", width="0cm" )
  67. draw.Path( d="1cm", viewbox="0 0 1000 1000", x="0cm" )
  68. draw.Path( d="1cm", viewbox="0 0 1000 1000", y="0cm" )
  69. draw.Polygon( points="0,0 1,1", viewbox="0 0 1000 1000", endx="0cm" )
  70. draw.Polygon( points="0,0 1,1", viewbox="0 0 1000 1000", endy="0cm" )
  71. draw.Polygon( points="0,0 1,1", viewbox="0 0 1000 1000", height="0cm" )
  72. draw.Polygon( points="0,0 1,1", viewbox="0 0 1000 1000", width="0cm" )
  73. draw.Polygon( points="0,0 1,1", viewbox="0 0 1000 1000", x="0cm" )
  74. draw.Polygon( points="0,0 1,1", viewbox="0 0 1000 1000", y="0cm" )
  75. draw.Polyline( points="0,0 1,1", viewbox="0 0 1000 1000", endx="0cm" )
  76. draw.Polyline( points="0,0 1,1", viewbox="0 0 1000 1000", endy="0cm" )
  77. draw.Polyline( points="0,0 1,1", viewbox="0 0 1000 1000", height="0cm" )
  78. draw.Polyline( points="0,0 1,1", viewbox="0 0 1000 1000", width="0cm" )
  79. draw.Polyline( points="0,0 1,1", viewbox="0 0 1000 1000", x="0cm" )
  80. draw.Polyline( points="0,0 1,1", viewbox="0 0 1000 1000", y="0cm" )
  81. draw.RegularPolygon( corners="1cm", endx="0cm" )
  82. draw.RegularPolygon( corners="1cm", endy="0cm" )
  83. draw.RegularPolygon( corners="1cm", height="0cm" )
  84. draw.RegularPolygon( corners="1cm", width="0cm" )
  85. draw.RegularPolygon( corners="1cm", x="0cm" )
  86. draw.RegularPolygon( corners="1cm", y="0cm" )
  87. draw.StrokeDash( name="1cm", dots1length="0cm" )
  88. draw.StrokeDash( name="1cm", dots2length="0cm" )
  89. presentation.Placeholder( x="1cm", height="1cm", object="1cm", width="1cm", y="0cm" )
  90. presentation.Placeholder( y="1cm", height="1cm", object="1cm", width="1cm", x="0cm" )
  91. presentation.Placeholder( y="1cm", x="1cm", height="1cm", object="1cm", width="0cm" )
  92. presentation.Placeholder( y="1cm", x="1cm", object="1cm", width="1cm", height="0cm" )
  93. style.Column( relwidth="1cm", endindent="0cm" )
  94. style.Column( relwidth="1cm", spaceafter="0cm" )
  95. style.Column( relwidth="1cm", spacebefore="0cm" )
  96. style.Column( relwidth="1cm", startindent="0cm" )
  97. style.Columns( columncount="1cm", columngap="0cm" )
  98. style.TabStop( position="0cm" )
  99. svg.Lineargradient( name="1cm", x1="0cm" )
  100. svg.Lineargradient( name="1cm", x2="0cm" )
  101. svg.Lineargradient( name="1cm", y1="0cm" )
  102. svg.Lineargradient( name="1cm", y2="0cm" )
  103. svg.Radialgradient( name="1cm", r="0cm" )
  104. def test_invalid_length(self):
  105. """ Fail is the length is invalid """
  106. self.assertRaises(ValueError, chart.Chart, attributes={'class':'chart:bar'}, height="xxx" )
  107. self.assertRaises(ValueError, chart.Chart, attributes={'class':'chart:bar'}, width="xxx" )
  108. self.assertRaises(ValueError, draw.AreaCircle, cy="1cm", cx="1cm", r="xxx" )
  109. self.assertRaises(ValueError, draw.AreaPolygon, height="1cm", points="0,0 1,1", y="1cm", x="1cm", viewbox="0 0 1000 1000", width="xxx" )
  110. self.assertRaises(ValueError, draw.AreaPolygon, height="1cm", width="1cm", points="0,0 1,1", x="1cm", viewbox="0 0 1000 1000", y="xxx" )
  111. self.assertRaises(ValueError, draw.AreaPolygon, height="1cm", width="1cm", points="0,0 1,1", y="1cm", viewbox="0 0 1000 1000", x="xxx" )
  112. self.assertRaises(ValueError, draw.AreaPolygon, width="1cm", points="0,0 1,1", y="1cm", x="1cm", viewbox="0 0 1000 1000", height="xxx" )
  113. self.assertRaises(ValueError, draw.AreaRectangle, x="1cm", height="1cm", width="1cm", y="xxx" )
  114. self.assertRaises(ValueError, draw.AreaRectangle, y="1cm", height="1cm", width="1cm", x="xxx" )
  115. self.assertRaises(ValueError, draw.AreaRectangle, y="1cm", x="1cm", height="1cm", width="xxx" )
  116. self.assertRaises(ValueError, draw.AreaRectangle, y="1cm", x="1cm", width="1cm", height="xxx" )
  117. self.assertRaises(ValueError, draw.ContourPath, recreateonedit="true", viewbox="0 0 1000 1000", d="1cm", height="xxx" )
  118. self.assertRaises(ValueError, draw.ContourPath, recreateonedit="true", viewbox="0 0 1000 1000", d="1cm", width="xxx" )
  119. self.assertRaises(ValueError, draw.ContourPolygon, points="0,0 1,1", recreateonedit="true", viewbox="0 0 1000 1000", height="xxx" )
  120. self.assertRaises(ValueError, draw.ContourPolygon, points="0,0 1,1", recreateonedit="true", viewbox="0 0 1000 1000", width="xxx" )
  121. self.assertRaises(ValueError, draw.Control, control="1cm", endx="xxx" )
  122. self.assertRaises(ValueError, draw.Control, control="1cm", endy="xxx" )
  123. self.assertRaises(ValueError, draw.Control, control="1cm", height="xxx" )
  124. self.assertRaises(ValueError, draw.Control, control="1cm", width="xxx" )
  125. self.assertRaises(ValueError, draw.Control, control="1cm", x="xxx" )
  126. self.assertRaises(ValueError, draw.Control, control="1cm", y="xxx" )
  127. self.assertRaises(ValueError, draw.FillImage, href="1cm", name="1cm", height="xxx" )
  128. self.assertRaises(ValueError, draw.FillImage, href="1cm", name="1cm", width="xxx" )
  129. self.assertRaises(ValueError, draw.GluePoint, x="1cm", align="1cm", id="1cm", y="xxx", escapedirection="right" )
  130. self.assertRaises(ValueError, draw.GluePoint, y="1cm", align="1cm", id="1cm", x="xxx", escapedirection="right" )
  131. self.assertRaises(ValueError, draw.Line, x2="1cm", x1="1cm", y2="1cm", y1="xxx" )
  132. self.assertRaises(ValueError, draw.Line, y1="1cm", x1="1cm", y2="1cm", x2="xxx" )
  133. self.assertRaises(ValueError, draw.Line, y1="1cm", x2="1cm", x1="1cm", y2="xxx" )
  134. self.assertRaises(ValueError, draw.Line, y1="1cm", x2="1cm", x1="1cm", y2="1cm", endx="xxx" )
  135. self.assertRaises(ValueError, draw.Line, y1="1cm", x2="1cm", x1="1cm", y2="1cm", endy="xxx" )
  136. self.assertRaises(ValueError, draw.Line, y1="1cm", x2="1cm", y2="1cm", x1="xxx" )
  137. self.assertRaises(ValueError, draw.Measure, x2="1cm", x1="1cm", y2="1cm", y1="xxx" )
  138. self.assertRaises(ValueError, draw.Measure, y1="1cm", x1="1cm", y2="1cm", x2="xxx" )
  139. self.assertRaises(ValueError, draw.Measure, y1="1cm", x2="1cm", x1="1cm", y2="xxx" )
  140. self.assertRaises(ValueError, draw.Measure, y1="1cm", x2="1cm", x1="1cm", y2="1cm", endx="xxx" )
  141. self.assertRaises(ValueError, draw.Measure, y1="1cm", x2="1cm", x1="1cm", y2="1cm", endy="xxx" )
  142. self.assertRaises(ValueError, draw.Measure, y1="1cm", x2="1cm", y2="1cm", x1="xxx" )
  143. self.assertRaises(ValueError, draw.Path, d="1cm", viewbox="0 0 1000 1000", endx="xxx" )
  144. self.assertRaises(ValueError, draw.Path, d="1cm", viewbox="0 0 1000 1000", endy="xxx" )
  145. self.assertRaises(ValueError, draw.Path, d="1cm", viewbox="0 0 1000 1000", height="xxx" )
  146. self.assertRaises(ValueError, draw.Path, d="1cm", viewbox="0 0 1000 1000", width="xxx" )
  147. self.assertRaises(ValueError, draw.Path, d="1cm", viewbox="0 0 1000 1000", x="xxx" )
  148. self.assertRaises(ValueError, draw.Path, d="1cm", viewbox="0 0 1000 1000", y="xxx" )
  149. self.assertRaises(ValueError, draw.Polygon, points="0,0 1,1", viewbox="0 0 1000 1000", endx="xxx" )
  150. self.assertRaises(ValueError, draw.Polygon, points="0,0 1,1", viewbox="0 0 1000 1000", endy="xxx" )
  151. self.assertRaises(ValueError, draw.Polygon, points="0,0 1,1", viewbox="0 0 1000 1000", height="xxx" )
  152. self.assertRaises(ValueError, draw.Polygon, points="0,0 1,1", viewbox="0 0 1000 1000", width="xxx" )
  153. self.assertRaises(ValueError, draw.Polygon, points="0,0 1,1", viewbox="0 0 1000 1000", x="xxx" )
  154. self.assertRaises(ValueError, draw.Polygon, points="0,0 1,1", viewbox="0 0 1000 1000", y="xxx" )
  155. self.assertRaises(ValueError, draw.Polyline, points="0,0 1,1", viewbox="0 0 1000 1000", endx="xxx" )
  156. self.assertRaises(ValueError, draw.Polyline, points="0,0 1,1", viewbox="0 0 1000 1000", endy="xxx" )
  157. self.assertRaises(ValueError, draw.Polyline, points="0,0 1,1", viewbox="0 0 1000 1000", height="xxx" )
  158. self.assertRaises(ValueError, draw.Polyline, points="0,0 1,1", viewbox="0 0 1000 1000", width="xxx" )
  159. self.assertRaises(ValueError, draw.Polyline, points="0,0 1,1", viewbox="0 0 1000 1000", x="xxx" )
  160. self.assertRaises(ValueError, draw.Polyline, points="0,0 1,1", viewbox="0 0 1000 1000", y="xxx" )
  161. self.assertRaises(ValueError, draw.RegularPolygon, corners="1cm", endx="xxx" )
  162. self.assertRaises(ValueError, draw.RegularPolygon, corners="1cm", endy="xxx" )
  163. self.assertRaises(ValueError, draw.RegularPolygon, corners="1cm", height="xxx" )
  164. self.assertRaises(ValueError, draw.RegularPolygon, corners="1cm", width="xxx" )
  165. self.assertRaises(ValueError, draw.RegularPolygon, corners="1cm", x="xxx" )
  166. self.assertRaises(ValueError, draw.RegularPolygon, corners="1cm", y="xxx" )
  167. self.assertRaises(ValueError, draw.StrokeDash, name="1cm", dots1length="xxx" )
  168. self.assertRaises(ValueError, draw.StrokeDash, name="1cm", dots2length="xxx" )
  169. self.assertRaises(ValueError, presentation.Placeholder, x="1cm", height="1cm", object="1cm", width="1cm", y="xxx" )
  170. self.assertRaises(ValueError, presentation.Placeholder, y="1cm", height="1cm", object="1cm", width="1cm", x="xxx" )
  171. self.assertRaises(ValueError, presentation.Placeholder, y="1cm", x="1cm", height="1cm", object="1cm", width="xxx" )
  172. self.assertRaises(ValueError, presentation.Placeholder, y="1cm", x="1cm", object="1cm", width="1cm", height="xxx" )
  173. self.assertRaises(ValueError, style.Column, relwidth="1cm", endindent="xxx" )
  174. self.assertRaises(ValueError, style.Column, relwidth="1cm", spaceafter="xxx" )
  175. self.assertRaises(ValueError, style.Column, relwidth="1cm", spacebefore="xxx" )
  176. self.assertRaises(ValueError, style.Column, relwidth="1cm", startindent="xxx" )
  177. self.assertRaises(ValueError, style.Columns, columncount="1cm", columngap="xxx" )
  178. self.assertRaises(ValueError, style.TabStop, position="xxx" )
  179. self.assertRaises(ValueError, svg.Lineargradient, name="1cm", x1="xxx" )
  180. self.assertRaises(ValueError, svg.Lineargradient, name="1cm", x2="xxx" )
  181. self.assertRaises(ValueError, svg.Lineargradient, name="1cm", y1="xxx" )
  182. self.assertRaises(ValueError, svg.Lineargradient, name="1cm", y2="xxx" )
  183. self.assertRaises(ValueError, svg.Radialgradient, name="1cm", r="xxx" )
  184. if __name__ == '__main__':
  185. unittest.main()