Fix bug 723 - "Missing QAbstractFileEngine.read and QAbstractFileEngine.readLine"

This commit is contained in:
Hugo Parente Lima 2011-04-12 15:53:56 -03:00
commit 1e149f3de4
3 changed files with 104 additions and 5 deletions

View file

@ -8,6 +8,7 @@ PYSIDE_TEST(bug_515.py)
PYSIDE_TEST(bug_656.py)
PYSIDE_TEST(bug_699.py)
PYSIDE_TEST(bug_706.py)
PYSIDE_TEST(bug_723.py)
PYSIDE_TEST(bug_724.py)
PYSIDE_TEST(blocking_signals_test.py)
PYSIDE_TEST(child_event_test.py)

50
tests/QtCore/bug_723.py Normal file
View file

@ -0,0 +1,50 @@
import unittest
from PySide.QtCore import *
class MyFileEngine (QAbstractFileEngine):
def __init__(self):
QAbstractFileEngine.__init__(self)
self.contents = "Foo bar for the win!"
self.pos = 0
def open(self, mode):
return True
def read(self, maxlen):
print "Reading... to return ", self.contents[self.pos:maxlen]
if self.pos > len(self.contents):
return -1
res = self.contents[self.pos:maxlen]
self.pos += len(res)
return res
def readLine(self, maxlen):
return self.contents[self.pos:maxlen]
class MyFileEngineHandler (QAbstractFileEngineHandler):
def create(self, fileName):
print "hey ho: ", fileName
if fileName.startswith("foo:/"):
return MyFileEngine()
return None
class TestBug723 (unittest.TestCase):
def testIt(self):
fh = MyFileEngineHandler()
f = QFile("foo:/bar")
assert(f.open(QFile.ReadOnly | QFile.Text))
contents = f.readAll()
self.assertEqual(contents, "Foo bar for the win!")
f.close()
if __name__ == '__main__':
unittest.main()