PageRenderTime 52ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/src/xlsxwriter/test/drawing/test_drawing_image01.py

https://gitlab.com/Ferraresi/TestAcademiadaCarne
Python | 146 lines | 128 code | 7 blank | 11 comment | 0 complexity | 655b66e6992289441ebb783421a79920 MD5 | raw file
  1. ###############################################################################
  2. #
  3. # Tests for XlsxWriter.
  4. #
  5. # Copyright (c), 2013-2016, John McNamara, jmcnamara@cpan.org
  6. #
  7. import unittest
  8. from ...compatibility import StringIO
  9. from ..helperfunctions import _xml_to_list
  10. from ...drawing import Drawing
  11. class TestAssembleDrawing(unittest.TestCase):
  12. """
  13. Test assembling a complete Drawing file.
  14. """
  15. def test_assemble_xml_file(self):
  16. """Test writing a drawing with no cell data."""
  17. self.maxDiff = None
  18. fh = StringIO()
  19. drawing = Drawing()
  20. drawing._set_filehandle(fh)
  21. drawing._add_drawing_object([2, 2, 1, 0, 0, 3, 6, 533257, 190357, 1219200, 190500, 1142857, 1142857, 'republic.png', None])
  22. drawing.embedded = 1
  23. drawing._assemble_xml_file()
  24. exp = _xml_to_list("""
  25. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  26. <xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
  27. <xdr:twoCellAnchor editAs="oneCell">
  28. <xdr:from>
  29. <xdr:col>2</xdr:col>
  30. <xdr:colOff>0</xdr:colOff>
  31. <xdr:row>1</xdr:row>
  32. <xdr:rowOff>0</xdr:rowOff>
  33. </xdr:from>
  34. <xdr:to>
  35. <xdr:col>3</xdr:col>
  36. <xdr:colOff>533257</xdr:colOff>
  37. <xdr:row>6</xdr:row>
  38. <xdr:rowOff>190357</xdr:rowOff>
  39. </xdr:to>
  40. <xdr:pic>
  41. <xdr:nvPicPr>
  42. <xdr:cNvPr id="2" name="Picture 1" descr="republic.png"/>
  43. <xdr:cNvPicPr>
  44. <a:picLocks noChangeAspect="1"/>
  45. </xdr:cNvPicPr>
  46. </xdr:nvPicPr>
  47. <xdr:blipFill>
  48. <a:blip xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:embed="rId1"/>
  49. <a:stretch>
  50. <a:fillRect/>
  51. </a:stretch>
  52. </xdr:blipFill>
  53. <xdr:spPr>
  54. <a:xfrm>
  55. <a:off x="1219200" y="190500"/>
  56. <a:ext cx="1142857" cy="1142857"/>
  57. </a:xfrm>
  58. <a:prstGeom prst="rect">
  59. <a:avLst/>
  60. </a:prstGeom>
  61. </xdr:spPr>
  62. </xdr:pic>
  63. <xdr:clientData/>
  64. </xdr:twoCellAnchor>
  65. </xdr:wsDr>
  66. """)
  67. got = _xml_to_list(fh.getvalue())
  68. self.assertEqual(got, exp)
  69. def test_assemble_xml_file_with_url(self):
  70. """Test writing a drawing with no cell data."""
  71. self.maxDiff = None
  72. fh = StringIO()
  73. drawing = Drawing()
  74. drawing._set_filehandle(fh)
  75. drawing = Drawing()
  76. drawing._set_filehandle(fh)
  77. tip = 'this is a tooltip'
  78. url = 'https://www.github.com'
  79. drawing._add_drawing_object([2, 2, 1, 0, 0, 3, 6, 533257, 190357, 1219200, 190500, 1142857, 1142857, 'republic.png', None, url, tip, None])
  80. drawing.embedded = 1
  81. drawing._assemble_xml_file()
  82. exp = _xml_to_list("""
  83. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  84. <xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
  85. <xdr:twoCellAnchor editAs="oneCell">
  86. <xdr:from>
  87. <xdr:col>2</xdr:col>
  88. <xdr:colOff>0</xdr:colOff>
  89. <xdr:row>1</xdr:row>
  90. <xdr:rowOff>0</xdr:rowOff>
  91. </xdr:from>
  92. <xdr:to>
  93. <xdr:col>3</xdr:col>
  94. <xdr:colOff>533257</xdr:colOff>
  95. <xdr:row>6</xdr:row>
  96. <xdr:rowOff>190357</xdr:rowOff>
  97. </xdr:to>
  98. <xdr:pic>
  99. <xdr:nvPicPr>
  100. <xdr:cNvPr id="2" name="Picture 1" descr="republic.png">
  101. <a:hlinkClick xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1" tooltip="this is a tooltip"/>
  102. </xdr:cNvPr>
  103. <xdr:cNvPicPr>
  104. <a:picLocks noChangeAspect="1"/>
  105. </xdr:cNvPicPr>
  106. </xdr:nvPicPr>
  107. <xdr:blipFill>
  108. <a:blip xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:embed="rId2"/>
  109. <a:stretch>
  110. <a:fillRect/>
  111. </a:stretch>
  112. </xdr:blipFill>
  113. <xdr:spPr>
  114. <a:xfrm>
  115. <a:off x="1219200" y="190500"/>
  116. <a:ext cx="1142857" cy="1142857"/>
  117. </a:xfrm>
  118. <a:prstGeom prst="rect">
  119. <a:avLst/>
  120. </a:prstGeom>
  121. </xdr:spPr>
  122. </xdr:pic>
  123. <xdr:clientData/>
  124. </xdr:twoCellAnchor>
  125. </xdr:wsDr>
  126. """)
  127. got = _xml_to_list(fh.getvalue())
  128. self.assertEqual(got, exp)