1############################################################################# 2## 3## Copyright (C) 2016 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 QItemSelection 38from PySide2.QtGui import QStandardItemModel, QStandardItem 39from PySide2.QtWidgets import QApplication 40class Bug324(unittest.TestCase): 41 def testOperators(self): 42 model = QStandardItemModel() 43 for i in range(100): 44 model.appendRow(QStandardItem("Item: %d"%i)) 45 46 first = model.index(0, 0) 47 second = model.index(10, 0) 48 third = model.index(20, 0) 49 fourth = model.index(30, 0) 50 51 sel = QItemSelection(first, second) 52 sel2 = QItemSelection() 53 sel2.select(third, fourth) 54 55 sel3 = sel + sel2 #check operator + 56 self.assertEqual(len(sel3), 2) 57 sel4 = sel 58 sel4 += sel2 #check operator += 59 self.assertEqual(len(sel4), 2) 60 self.assertEqual(sel4, sel3) 61 62if __name__ == "__main__": 63 unittest.main() 64