diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-04-12 15:53:56 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:09 -0300 |
commit | c2c04ddd5107f0743441c9cf77c481254d168aae (patch) | |
tree | 0209a3ee7f8661976d2eca53cd6feb3d3bb50385 /tests | |
parent | b1ab2a02604bca8abfb18a2f626643a52c5d4453 (diff) |
Fix bug 723 - "Missing QAbstractFileEngine.read and QAbstractFileEngine.readLine"
Diffstat (limited to 'tests')
-rw-r--r-- | tests/QtCore/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/QtCore/bug_723.py | 50 |
2 files changed, 51 insertions, 0 deletions
diff --git a/tests/QtCore/CMakeLists.txt b/tests/QtCore/CMakeLists.txt index cbc9ee0b3..a7cd8b17d 100644 --- a/tests/QtCore/CMakeLists.txt +++ b/tests/QtCore/CMakeLists.txt @@ -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) diff --git a/tests/QtCore/bug_723.py b/tests/QtCore/bug_723.py new file mode 100644 index 000000000..68ebeab61 --- /dev/null +++ b/tests/QtCore/bug_723.py @@ -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() |