1############################################################################# 2## 3## Copyright (C) 2018 The Qt Company Ltd. 4## Contact: https://www.qt.io/licensing/ 5## 6## This file is part of the test suite of Qt for Python. 7## 8## $QT_BEGIN_LICENSE:GPL-EXCEPT$ 9## Commercial License Usage 10## Licensees holding valid commercial Qt licenses may use this file in 11## accordance with the commercial license agreement provided with the 12## Software or, alternatively, in accordance with the terms contained in 13## a written agreement between you and The Qt Company. For licensing terms 14## and conditions see https://www.qt.io/terms-conditions. For further 15## information use the contact form at https://www.qt.io/contact-us. 16## 17## GNU General Public License Usage 18## Alternatively, this file may be used under the terms of the GNU 19## General Public License version 3 as published by the Free Software 20## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 21## included in the packaging of this file. Please review the following 22## information to ensure the GNU General Public License requirements will 23## be met: https://www.gnu.org/licenses/gpl-3.0.html. 24## 25## $QT_END_LICENSE$ 26## 27############################################################################# 28 29import os 30import sys 31import unittest 32 33sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 34from init_paths import init_test_paths 35init_test_paths(False) 36 37from PySide2.QtCore import QIODevice, QTemporaryFile 38import py3kcompat as py3k 39 40class FileChild1(QTemporaryFile): 41 pass 42 43class FileChild2(QTemporaryFile): 44 def readData(self, maxlen): 45 return super(FileChild2, self).readData(maxlen) 46 def readLineData(self, maxlen): 47 return super(FileChild2, self).readLineData(maxlen) 48 49class readDataTest(unittest.TestCase): 50 '''Test case for readData and readLineData''' 51 52 def setUp(self): 53 '''Acquire resources''' 54 self.filename1 = FileChild1() 55 self.assertTrue(self.filename1.open()) 56 self.filename1.write(py3k.b('Test text for testing')) 57 58 self.filename2 = FileChild2() 59 self.assertTrue(self.filename2.open()) 60 self.filename2.write(py3k.b('Test text for testing')) 61 62 def tearDown(self): 63 '''release resources''' 64 pass 65 66 def testBasic(self): 67 '''QTemporaryFile.read''' 68 self.filename1.seek(0) 69 s1 = self.filename1.read(50) 70 self.assertEqual(s1, 'Test text for testing') 71 72 73 def testBug40(self): 74 self.filename2.seek(0) 75 s2 = self.filename2.read(50) 76 self.assertEqual(s2, 'Test text for testing') 77 78 self.filename2.seek(0) 79 s2 = self.filename2.readLine(22) 80 self.assertEqual(s2, 'Test text for testing') 81 82 self.filename1.seek(0) 83 s1 = self.filename1.read(50) 84 self.assertEqual(s1, s2) 85 86if __name__ == '__main__': 87 unittest.main() 88