Mercurial > lcfOS
view test/testdiagrameditor.py @ 390:b77f3290ac79
Added diagram editor tests
author | Windel Bouwman |
---|---|
date | Fri, 16 May 2014 10:12:16 +0200 |
parents | |
children | bb4289c84907 |
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 from PyQt5.QtTest import QTest from PyQt5.QtCore import Qt, QTimer 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) def testScenario1(self): self.cmdNewModel() self.dragItemIntoScene() def testB(self): print('b') if __name__ == '__main__': unittest.main()