Files
Phoenix/unittests/test_stream.py
Robin Dunn b41df0b779 Many, many (many!) changes needed to build and run the Phoenix extension modules with Python 3. Where possible changes were made such that the code works with both Python 2.7 and 3.2 without conditionals. In general the following types of changes were made:
* Changed imports to use either absolute or explicit relative imports.  Implicit relative imports are no longer allowed.

 * Changes to accomodate standard library classes or modues moving to other locations, or being removed entirely.

 * Changes related to print becoming a function, execfile being removed, u'' no longer allowed, and other syntax related issues.

 * Working around C APIs that have changed or simply vanished. (PyInt, PyString, PyBytes, etc.)

 * Dealing with text file objects using strings vs binary file objects using bytes, auto-encoding, and etc.

 * Replacing the use of PyCObject with PyCapsule and dealing with an apparent bug where PyCapsule objects can't be imported from submodules within a package.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@71554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-24 23:28:02 +00:00

50 lines
1.4 KiB
Python

import imp_unittest, unittest
import wtc
import wx
import os
if wtc.isPython3():
from io import BytesIO as FileLikeObject
else:
from cStringIO import StringIO as FileLikeObject
pngFile = os.path.join(os.path.dirname(__file__), 'toucan.png')
#---------------------------------------------------------------------------
class stream_Tests(wtc.WidgetTestCase):
def test_inputStreamParam(self):
# This tests being able to pass a Python file-like object to a
# wrapped function expecting a wxInputStream.
# First, load the image data into a StringIO object
f = open(pngFile, 'rb')
stream = FileLikeObject(f.read())
f.close()
# Then use it to create a wx.Image
img = wx.Image(stream)
self.assertTrue(img.IsOk())
def test_outputStreamParam(self):
# This tests being able to pass a Python file-like object to a
# wrapped function expecting a wxOutputStream.
image = wx.Image(pngFile)
stream = FileLikeObject()
image.SaveFile(stream, wx.BITMAP_TYPE_PNG)
del image
stream = FileLikeObject(stream.getvalue())
image = wx.Image(stream)
self.assertTrue(image.IsOk())
#---------------------------------------------------------------------------
if __name__ == '__main__':
unittest.main()