Mercurial > lcfOS
view test/testdiagrameditor.py @ 392:bb4289c84907
Added some sort of drop event test
author | Windel Bouwman |
---|---|
date | Fri, 16 May 2014 13:05:10 +0200 |
parents | b77f3290ac79 |
children | c0d9837acde8 |
line wrap: on
line source
import unittest import os import sys import time try: otherpath = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'python','other')) sys.path.insert(0, otherpath) import diagrameditor from PyQt5.QtWidgets import QApplication, QGraphicsItem from PyQt5.QtTest import QTest from PyQt5.QtCore import Qt, QTimer, QMimeData, QPointF from PyQt5.QtGui import QDropEvent skip_it = False # When creating an app per testcase, this fails horribly.. app = QApplication(sys.argv) except ImportError as e: skip_it = True class DiagramEditorTestCase(unittest.TestCase): def setUp(self): if skip_it: self.skipTest('No qt5 or X server') return #print('Instance:', QApplication.instance()) self.main = diagrameditor.Main() self.main.show() QTest.qWaitForWindowActive(self.main) def tearDown(self): QTimer.singleShot(100, app.quit) app.exec_() def cmdNewModel(self): # Press ctrl+N: QTest.keyClick(self.main, Qt.Key_N, Qt.ControlModifier) def dragItemIntoScene(self): library = self.main.findChild(diagrameditor.LibraryWidget, 'LibraryWidget') editor = self.main.findChild(diagrameditor.EditorGraphicsView, 'Editor') #ilibrary. QTest.mousePress(library, Qt.LeftButton) print(editor, type(editor)) QTest.mouseMove(editor) QTest.mouseRelease(editor, Qt.LeftButton) mimedata = QMimeData() mimedata.setData('component/name', 'Block:blk'.encode('ascii')) de = QDropEvent(QPointF(10, 10), Qt.CopyAction, mimedata, Qt.LeftButton, Qt.NoModifier) editor.dropEvent(de) def resizePlacedItem(self): i = self.main.findChild(QGraphicsItem, "sizer_top_right") print(i) def testScenario1(self): self.cmdNewModel() self.dragItemIntoScene() self.resizePlacedItem() def testB(self): print('b') if __name__ == '__main__': unittest.main()